]> Sergey Matveev's repositories - public-inbox.git/commitdiff
daemon: simplify fork() failure checks
authorEric Wong <e@80x24.org>
Tue, 15 Dec 2020 11:47:17 +0000 (11:47 +0000)
committerEric Wong <e@80x24.org>
Wed, 16 Dec 2020 04:40:03 +0000 (04:40 +0000)
The defined-or `//' operator in 5.10 allows us to golf down
our code slightly.

lib/PublicInbox/Daemon.pm

index fdedaee73df29e7d3ca78a0a86423abd2db2755f..a2171535c9ae2a3656c498318f6fa534ecd48691 100644 (file)
@@ -237,8 +237,7 @@ EOF
        };
 
        if ($daemonize) {
-               my $pid = fork;
-               die "could not fork: $!\n" unless defined $pid;
+               my $pid = fork // die "fork: $!";
                exit if $pid;
 
                open(STDIN, '+<', '/dev/null') or
@@ -246,8 +245,7 @@ EOF
                open STDOUT, '>&STDIN' or die "redirect stdout failed: $!\n";
                open STDERR, '>&STDIN' or die "redirect stderr failed: $!\n";
                POSIX::setsid();
-               $pid = fork;
-               die "could not fork: $!\n" unless defined $pid;
+               $pid = fork // die "fork: $!";
                exit if $pid;
        }
        return unless defined $pid_file;