From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 14B451FA12 for ; Tue, 15 Dec 2020 11:47:23 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 2/7] daemon: simplify fork() failure checks Date: Tue, 15 Dec 2020 11:47:17 +0000 Message-Id: <20201215114722.27400-3-e@80x24.org> In-Reply-To: <20201215114722.27400-1-e@80x24.org> References: <20201215114722.27400-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: The defined-or `//' operator in 5.10 allows us to golf down our code slightly. --- lib/PublicInbox/Daemon.pm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/PublicInbox/Daemon.pm b/lib/PublicInbox/Daemon.pm index fdedaee7..a2171535 100644 --- a/lib/PublicInbox/Daemon.pm +++ b/lib/PublicInbox/Daemon.pm @@ -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;