From 83770743503dfab6ac337bf053fb22a961c2cb54 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 29 Feb 2016 01:32:24 +0000 Subject: spawnpp: use env(1) for mod_perl compatibility We cannot modify %ENV directly under mod_perl (even after forking!), so use env(1) instead to pass the environment. --- lib/PublicInbox/SpawnPP.pm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'lib') diff --git a/lib/PublicInbox/SpawnPP.pm b/lib/PublicInbox/SpawnPP.pm index 288625d0..dc2ef364 100644 --- a/lib/PublicInbox/SpawnPP.pm +++ b/lib/PublicInbox/SpawnPP.pm @@ -19,13 +19,8 @@ sub public_inbox_fork_exec ($$$$$$) { if ($err != 2) { dup2($err, 2) or die "dup2 failed for stderr: $!"; } - %ENV = (); - foreach my $e (@$env) { - my ($k, $v) = split('=', $e, 2); - $ENV{$k} = $v; - } - exec @$cmd; - die "exec $cmd->[0] failed: $!\n"; + exec qw(env -i), @$env, @$cmd; + die "exec env -i ... $cmd->[0] failed: $!\n"; } $pid; } -- cgit v1.2.3-24-ge0c7