From e95b4225b32cd561e608e3b9740024ed66fe7b0f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 2 Feb 2020 17:51:26 +0000 Subject: spawn: actually die on (vfork|fork) failures Commit 9f5a583694396f84 ("spawn (and thus popen_rd) die on failure") was incomplete in that it only removed error checking for spawn failures for non-(vfork|fork) calls, but the actual (vfork|fork) PID result could still be undef. Fixes: 9f5a583694396f84 ("spawn (and thus popen_rd) die on failure") --- lib/PublicInbox/Spawn.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/PublicInbox/Spawn.pm b/lib/PublicInbox/Spawn.pm index b02d5368..727caf1c 100644 --- a/lib/PublicInbox/Spawn.pm +++ b/lib/PublicInbox/Spawn.pm @@ -210,7 +210,8 @@ sub spawn ($;$$) { } my $cd = $opts->{'-C'} // ''; # undef => NULL mapping doesn't work? my $pid = pi_fork_exec($redir, $f, $cmd, \@env, $rlim, $cd); - $pid < 0 ? undef : $pid; + die "fork_exec failed: $!\n" unless defined $pid; + $pid; } sub popen_rd { -- cgit v1.2.3-24-ge0c7