use strict; use warnings; use POSIX; if (my $pid = fork) { sleep 1; alarm 10; kill (POSIX::SIGUSR2, $pid); $SIG{CHLD} = 'IGNORE'; while( wait() != -1 ){ print STDERR "wait\n"}; } else { $SIG{USR2} = sub { print "CHILD $$ EXIT\n"; exit(1); }; sleep 1 while (1); } print STDERR "DONE\n"; #### Locally applied patches: CVE-2010-0405 Updated CGI to 3.51 Updated Test::Simple to 0.98 Updated List::Util to 1.23 CVE-2011-1487 Updated Digest to 1.17 CVE-2011-2939 uncommitted-changes #### $SIG{CHLD} = sub { while( wait() != -1 ){ print STDERR "wait0\n"}; };