or die "fork: $!";
if($pid) # parent
{
- local $SIG{ALRM} = sub { kill $pid; };
+ local $SIG{ALRM} = sub { warn "SIGALRM caught\n"; kill $pid; };
alarm $timeout
if $timeout;
if(waitpid($pid, 0) != $pid)
die "waitpid: did not return our child process $pid: $!";
}
alarm 0;
- return $? == 0;
+ return ($? == 0);
}
else # child
{