X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Frun.perl;h=cf80a8a17ecedc54304d5280744e5b5d857e4209;hb=21fcd8a37c82c1ef654d402cf592f0c9d803aa26;hp=e5ee0ade3de72ca57467e27f72f128b27484de0e;hpb=b9173c86876b74eb844441c94139cd623c58bda4;p=public-inbox.git diff --git a/t/run.perl b/t/run.perl index e5ee0ade..cf80a8a1 100755 --- a/t/run.perl +++ b/t/run.perl @@ -168,6 +168,7 @@ my $start_worker = sub { my $pid = fork // DIE "fork: $!"; if ($pid == 0) { close $wr if $wr; + $SIG{USR1} = undef; # undo parent $SIG{USR1} $worker = $$; while (1) { my $r = sysread($rd, my $buf, UINT_SIZE); @@ -182,7 +183,10 @@ my $start_worker = sub { $tb->reset; } kill 'USR1', $producer if !$eof; # sets $eof in $producer - DIE join('', map { "E: $_\n" } @err) if @err; + if (@err) { # write to run_log for $sigchld handler + syswrite($run_log, "$$ @err\n"); + DIE join('', map { "E: $_\n" } @err); + } exit(0); } else { $pids{$pid} = $j;