X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FSpawnPP.pm;h=73859e9b11ecf9882bf7045db0e31005ba5fdb8c;hb=9eb8baf199cd148b7ebf8e6e130fb832f4e1ef00;hp=7a5793f621ea710cf8c7fbc0b4f7cb37e8a2e087;hpb=f089fec3d66d18dde6aebb0740a7232b0cd571bf;p=public-inbox.git diff --git a/lib/PublicInbox/SpawnPP.pm b/lib/PublicInbox/SpawnPP.pm index 7a5793f6..73859e9b 100644 --- a/lib/PublicInbox/SpawnPP.pm +++ b/lib/PublicInbox/SpawnPP.pm @@ -3,9 +3,11 @@ # Pure-Perl implementation of "spawn". This can't take advantage # of vfork, so no speedups under Linux for spawning from large processes. +# Do not require this directly, only use from PublicInbox::Spawn package PublicInbox::SpawnPP; use v5.12; use POSIX qw(dup2 _exit setpgid :signal_h); +use PublicInbox::Spawn qw(which); # Pure Perl implementation for folks that do not use Inline::C sub pi_fork_exec ($$$$$$$) { @@ -46,7 +48,8 @@ sub pi_fork_exec ($$$$$$$) { sigprocmask(SIG_SETMASK, $old) or die "SIG_SETMASK ~CHLD: $!"; $cmd->[0] = $f; if ($ENV{MOD_PERL}) { - @$cmd = (which('env'), '-i', @$env, @$cmd); + $f = which('env'); + @$cmd = ('env', '-i', @$env, @$cmd); } else { %ENV = map { split(/=/, $_, 2) } @$env; }