]> Sergey Matveev's repositories - public-inbox.git/commitdiff
use defined-or in a few more places
authorEric Wong <e@80x24.org>
Mon, 25 Jan 2021 06:41:58 +0000 (22:41 -0800)
committerEric Wong <e@80x24.org>
Tue, 26 Jan 2021 18:51:31 +0000 (18:51 +0000)
Mainly around fork() calls, but some nearby places as well.

lib/PublicInbox/Spawn.pm
lib/PublicInbox/TestCommon.pm
lib/PublicInbox/Watch.pm
t/gcf2.t
t/imap_tracker.t
t/run.perl
xt/create-many-inboxes.t

index 86f66605f0a6540180d9bf9f05ff093241511138..ef4885c1968d1e5be80afc9fd2172d8fec404f9a 100644 (file)
@@ -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";
index 16ae26503f7886f9f900d2cee989807aeb1d227d..40c2dc9e6ddba404854f443b1a48b1b0fbd6fc0f 100644 (file)
@@ -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";
 }
 
index 1de5018d0230b1a4bee9d96080dd30cdaa4b9fdb..2b44ba430cfb957692da367a0550431f1809ebc6 100644 (file)
@@ -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() };
index fa907c8be0d426725815a3c09645b704adb0ebd1..d12a4420b5c01099bbb0b8bbd0ef8d94460afb8a 100644 (file)
--- 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
index be7c6e656a398f39ea21424850e5c69aa4fbdb97..90dea99fc945f47cc6be95f727172791e2813be5 100644 (file)
@@ -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;
index b7cb988be3e9b1f123ed484d0fc2ddc0b8e1e128..96db3045a04f535eeed8413dda419ef4bc3f1547 100755 (executable)
@@ -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) {
index 0c2de40d47c1a1ae894d32a909f110e3e3546ff2..f44334cce6dd9e383c5168ea24980725d7a85f81 100644 (file)
@@ -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);