On Wed, 2003-10-01 at 14:09, Stas Bekman wrote:
And it doesn't seem to do the right thing. It aborts the child process, but leaves the parent running as if it didn't receive SIGINT, causing a false failure reports.
Not sure why; IPC::Run uses system() to spawn the child; is the system() returning?
it doesn't trigger SIGINT handler. Tested with 5.6.1 and 5.8.1.
use IPC::Run3;
for my $sig (qw(INT TRAP ABRT IO KILL CHLD)) {
$SIG{$sig} = sub { print STDERR "got SIG$sig\n"; };
}my $command = qq[perl -le 'sleep 10; print "done"']; my $log = ''; system $command; #run3 $command, \undef, \$log, \$log; print $log;
Running this and doing Ctrl-C, prints no SIGINT, only SIGCHLD, which is unrelated.
Any ideas how to fix that? It messes things up a bit. It was very clean before using run3 (=system) with $SIG{INT}.
__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
