in reply to Re^2: $? stuck returning -1...
in thread $? stuck returning -1...
Set $SIG{CHLD} to undef before the foreach loop to see that that fixes the problem.
update:
output:$|=1; my $ret1 = `date`; my $exit1 = $?; print STDERR "exit1=$exit1 ret1=$ret1"; $SIG{CHLD} = sub {print "Sigchld\n";wait}; foreach my $i (1..5) { my $ret2 = `date`; my $exit2 = $?; print STDERR "exit2=$exit2 ret2=$ret2"; }
exit1=0 ret1=Wed Jun 20 22:29:13 CEST 2007 Sigchld exit2=-1 ret2=Wed Jun 20 22:29:13 CEST 2007 Sigchld exit2=-1 ret2=Wed Jun 20 22:29:13 CEST 2007 Sigchld exit2=-1 ret2=Wed Jun 20 22:29:13 CEST 2007 Sigchld exit2=-1 ret2=Wed Jun 20 22:29:13 CEST 2007 Sigchld exit2=-1 ret2=Wed Jun 20 22:29:13 CEST 2007
|
|---|