X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Frun.perl;h=0fe6d08bb9c4c78a87de11a055a5bf61262baf61;hb=76f5361d8b8d2bea828ac66dc98a0de24b761b3d;hp=5082125bab6e609711089d2aff3649a513fed474;hpb=d369390960722fc56c86319134debe5cd7c0c7f6;p=public-inbox.git diff --git a/t/run.perl b/t/run.perl index 5082125b..0fe6d08b 100755 --- a/t/run.perl +++ b/t/run.perl @@ -18,7 +18,7 @@ use PublicInbox::Spawn; use Getopt::Long qw(:config gnu_getopt no_ignore_case auto_abbrev); use Errno qw(EINTR); use Fcntl qw(:seek); -use POSIX qw(_POSIX_PIPE_BUF WNOHANG); +use POSIX qw(WNOHANG); use File::Temp (); my $jobs = 1; my $repeat = 1; @@ -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); @@ -199,7 +200,7 @@ for (my $i = $repeat; $i != 0; $i--) { pipe(my ($rd, $wr)) or DIE "pipe: $!"; # fill the queue before forking so children can start earlier - my $n = (_POSIX_PIPE_BUF / UINT_SIZE); + my $n = (POSIX::PIPE_BUF / UINT_SIZE); if ($n >= $#todo) { print $wr join('', map { pack('I', $_) } (0..$#todo)) or DIE; undef $wr; @@ -254,5 +255,8 @@ for (my $i = $repeat; $i != 0; $i--) { print $OLDOUT "1..".($repeat * scalar(@tests))."\n" if $repeat >= 0; if ($lei_env && $$ == $owner_pid) { my $opt = { 1 => $OLDOUT, 2 => $OLDERR }; + my $cur_daemon_pid; + run_script([qw(lei daemon-pid)], $lei_env, { 1 => \$cur_daemon_pid }); run_script([qw(lei daemon-kill)], $lei_env, $opt); + DIE "lei daemon restarted\n" if $cur_daemon_pid != $lei_daemon_pid; }