> Does this help? > > - ams > > --- ext/POSIX/POSIX.xs~ Tue Apr 24 00:53:22 2001 > +++ ext/POSIX/POSIX.xs Tue Apr 24 02:26:18 2001 > @@ -3410,7 +3410,7 @@ > svp = hv_fetch(action, "HANDLER", 7, FALSE); > if (!svp) > croak("Can't supply an action without a HANDLER"); >- sv_setpv(*sigsvp, SvPV(*svp, n_a)); >+ sv_setsv(*sigsvp, *svp); > mg_set(*sigsvp); /* handles DEFAULT and Ok, that does help in the first case (ie: now the action is actually done. *however* It doesn't help with the following script: use POSIX ':signal_h'; sigaction SIGALRM, new POSIX::SigAction sub { print STDERR "alarmed"; }; alarm(10); system("ftp earth.he.net"); print STDERR "AM I HERE!!!\n"; This simply prints out alarmed and continues to wait for user input to ftp. As per the manual, it should kill the child ftp process. and print "AM I HERE", and then exit (note, no 'die' is in the alarm handler). EdThread Next