about summary refs log tree commit homepage
path: root/lib/PublicInbox/TestCommon.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/TestCommon.pm')
-rw-r--r--lib/PublicInbox/TestCommon.pm6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/PublicInbox/TestCommon.pm b/lib/PublicInbox/TestCommon.pm
index 6e3e9d8c..e9efbac7 100644
--- a/lib/PublicInbox/TestCommon.pm
+++ b/lib/PublicInbox/TestCommon.pm
@@ -319,8 +319,9 @@ sub kill {
 }
 
 sub join {
-        my ($self) = @_;
+        my ($self, $sig) = @_;
         my $pid = delete $self->{pid} or return;
+        CORE::kill($sig, $pid) if defined $sig;
         my $ret = waitpid($pid, 0);
         defined($ret) or die "waitpid($pid): $!";
         $ret == $pid or die "waitpid($pid) != $ret";
@@ -333,8 +334,7 @@ sub DESTROY {
                 PublicInbox::TestCommon::wait_for_tail();
                 CORE::kill('TERM', $tail);
         }
-        my $pid = delete $self->{pid} or return;
-        CORE::kill('TERM', $pid);
+        $self->join('TERM');
 }
 
 1;