]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/run.perl
treewide: fix %SIG localization, harder
[public-inbox.git] / t / run.perl
index b0ee611a44626184cf8db19c4f781b620cad6be9..0fe6d08bb9c4c78a87de11a055a5bf61262baf61 100755 (executable)
@@ -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);
@@ -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;
 }