about summary refs log tree commit homepage
path: root/lib/PublicInbox
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox')
-rw-r--r--lib/PublicInbox/Spawn.pm7
-rw-r--r--lib/PublicInbox/TestCommon.pm10
-rw-r--r--lib/PublicInbox/Watch.pm2
3 files changed, 8 insertions, 11 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() };