X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FSpawn.pm;h=727caf1c0577663894eb88109675959decd1b39e;hb=e95b4225b32cd561e608e3b9740024ed66fe7b0f;hp=6eea2b9c7ff0886d5e5b0756a5ceb1da04253d30;hpb=39f2513042482162c8bb855c67b3806786e3516e;p=public-inbox.git diff --git a/lib/PublicInbox/Spawn.pm b/lib/PublicInbox/Spawn.pm index 6eea2b9c..727caf1c 100644 --- a/lib/PublicInbox/Spawn.pm +++ b/lib/PublicInbox/Spawn.pm @@ -15,7 +15,6 @@ use strict; use warnings; use base qw(Exporter); use Symbol qw(gensym); -use IO::Handle; use PublicInbox::ProcessPipe; our @EXPORT_OK = qw/which spawn popen_rd/; sub RLIMITS () { qw(RLIMIT_CPU RLIMIT_CORE RLIMIT_DATA) } @@ -211,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 { @@ -220,7 +220,6 @@ sub popen_rd { $opts ||= {}; $opts->{1} = fileno($w); my $pid = spawn($cmd, $env, $opts); - return unless defined $pid; return ($r, $pid) if wantarray; my $ret = gensym; tie *$ret, 'PublicInbox::ProcessPipe', $pid, $r;