about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/Spawn.pm7
-rw-r--r--lib/PublicInbox/TestCommon.pm10
-rw-r--r--lib/PublicInbox/Watch.pm2
-rw-r--r--t/gcf2.t2
-rw-r--r--t/imap_tracker.t2
-rwxr-xr-xt/run.perl2
-rw-r--r--xt/create-many-inboxes.t3
7 files changed, 12 insertions, 16 deletions
diff --git a/lib/PublicInbox/Spawn.pm b/lib/PublicInbox/Spawn.pm
index 86f66605..ef4885c1 100644
--- a/lib/PublicInbox/Spawn.pm
+++ b/lib/PublicInbox/Spawn.pm
@@ -352,8 +352,7 @@ sub which ($) {
 
 sub spawn ($;$$) {
         my ($cmd, $env, $opts) = @_;
-        my $f = which($cmd->[0]);
-        defined $f or die "$cmd->[0]: command not found\n";
+        my $f = which($cmd->[0]) // die "$cmd->[0]: command not found\n";
         my @env;
         $opts ||= {};
 
@@ -365,7 +364,7 @@ sub spawn ($;$$) {
         for my $child_fd (0..2) {
                 my $parent_fd = $opts->{$child_fd};
                 if (defined($parent_fd) && $parent_fd !~ /\A[0-9]+\z/) {
-                        defined(my $fd = fileno($parent_fd)) or
+                        my $fd = fileno($parent_fd) //
                                         die "$parent_fd not an IO GLOB? $!";
                         $parent_fd = $fd;
                 }
@@ -374,7 +373,7 @@ sub spawn ($;$$) {
         my $rlim = [];
 
         foreach my $l (@RLIMITS) {
-                defined(my $v = $opts->{$l}) or next;
+                my $v = $opts->{$l} // next;
                 my $r = eval "require BSD::Resource; BSD::Resource::$l();";
                 unless (defined $r) {
                         warn "$l undefined by BSD::Resource: $@\n";
diff --git a/lib/PublicInbox/TestCommon.pm b/lib/PublicInbox/TestCommon.pm
index 16ae2650..40c2dc9e 100644
--- a/lib/PublicInbox/TestCommon.pm
+++ b/lib/PublicInbox/TestCommon.pm
@@ -254,8 +254,7 @@ sub run_script ($;$$) {
                 my $cmd = [ key2script($key), @argv ];
                 my $pid = PublicInbox::Spawn::spawn($cmd, $env, $spawn_opt);
                 if (defined $pid) {
-                        my $r = waitpid($pid, 0);
-                        defined($r) or die "waitpid: $!";
+                        my $r = waitpid($pid, 0) // die "waitpid: $!";
                         $r == $pid or die "waitpid: expected $pid, got $r";
                 }
         } else { # localize and run everything in the same process:
@@ -367,7 +366,7 @@ sub start_script {
                         }
                 }
                 if (@paths) {
-                        defined($tail_pid = fork) or die "fork: $!\n";
+                        $tail_pid = fork // die "fork: $!";
                         if ($tail_pid == 0) {
                                 # make sure files exist, first
                                 open my $fh, '>>', $_ for @paths;
@@ -378,7 +377,7 @@ sub start_script {
                         wait_for_tail($tail_pid, scalar @paths);
                 }
         }
-        defined(my $pid = fork) or die "fork: $!\n";
+        my $pid = fork // die "fork: $!\n";
         if ($pid == 0) {
                 eval { PublicInbox::DS->Reset };
                 # pretend to be systemd (cf. sd_listen_fds(3))
@@ -440,8 +439,7 @@ sub join {
         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): $!";
+        my $ret = waitpid($pid, 0) // die "waitpid($pid): $!";
         $ret == $pid or die "waitpid($pid) != $ret";
 }
 
diff --git a/lib/PublicInbox/Watch.pm b/lib/PublicInbox/Watch.pm
index 1de5018d..2b44ba43 100644
--- a/lib/PublicInbox/Watch.pm
+++ b/lib/PublicInbox/Watch.pm
@@ -626,7 +626,7 @@ sub imap_idle_fork ($$) {
         my ($url, $intvl) = @$url_intvl;
         pipe(my ($r, $w)) or die "pipe: $!";
         my $seed = rand(0xffffffff);
-        defined(my $pid = fork) or die "fork: $!";
+        my $pid = fork // die "fork: $!";
         if ($pid == 0) {
                 srand($seed);
                 eval { Net::SSLeay::randomize() };
diff --git a/t/gcf2.t b/t/gcf2.t
index fa907c8b..d12a4420 100644
--- a/t/gcf2.t
+++ b/t/gcf2.t
@@ -114,7 +114,7 @@ SKIP: {
                 $w->blocking($blk);
                 seek($fh, 0, SEEK_SET) or BAIL_OUT "seek: $!";
                 truncate($fh, 0) or BAIL_OUT "truncate: $!";
-                defined(my $pid = fork) or BAIL_OUT "fork: $!";
+                my $pid = fork // BAIL_OUT "fork: $!";
                 if ($pid == 0) {
                         close $w;
                         tick; # wait for parent to block on writev
diff --git a/t/imap_tracker.t b/t/imap_tracker.t
index be7c6e65..90dea99f 100644
--- a/t/imap_tracker.t
+++ b/t/imap_tracker.t
@@ -29,7 +29,7 @@ SKIP: {
         diag "TEST_STRESS_NPROC=$nproc TEST_STRESS_NR=$nr";
         require POSIX;
         for my $n (1..$nproc) {
-                defined(my $pid = fork) or BAIL_OUT "fork: $!";
+                my $pid = fork // BAIL_OUT "fork: $!";
                 if ($pid == 0) {
                         my $url = "imap://example.com/INBOX.$$";
                         my $uidval = time;
diff --git a/t/run.perl b/t/run.perl
index b7cb988b..96db3045 100755
--- a/t/run.perl
+++ b/t/run.perl
@@ -128,7 +128,7 @@ my $eof; # we stop respawning if true
 
 my $start_worker = sub {
         my ($i, $j, $rd, $todo) = @_;
-        defined(my $pid = fork) or DIE "fork: $!";
+        my $pid = fork // DIE "fork: $!";
         if ($pid == 0) {
                 $worker = $$;
                 while (1) {
diff --git a/xt/create-many-inboxes.t b/xt/create-many-inboxes.t
index 0c2de40d..f44334cc 100644
--- a/xt/create-many-inboxes.t
+++ b/xt/create-many-inboxes.t
@@ -68,7 +68,7 @@ my @children;
 for my $i (1..$nproc) {
         my ($r, $w);
         pipe($r, $w) or BAIL_OUT $!;
-        my $pid = fork;
+        my $pid = fork // BAIL_OUT "fork: $!";
         if ($pid == 0) {
                 close $w;
                 while (my $i = <$r>) {
@@ -77,7 +77,6 @@ for my $i (1..$nproc) {
                 }
                 _exit(0);
         }
-        defined $pid or BAIL_OUT "fork: $!";
         close $r or BAIL_OUT $!;
         push @children, [ $w, $pid ];
         $w->autoflush(1);