diff options
author | Eric Wong <e@80x24.org> | 2019-11-29 10:14:13 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-12-11 08:10:32 +0000 |
commit | b82e6c82aedb58309bdcdd041cabb5f82ec62234 (patch) | |
tree | a69dfdb781a2f00a4f32438b13d8689d49e0fe69 | |
parent | 7c64c5b3f0535e58506a3157e3bd645996dc154f (diff) | |
download | public-inbox-b82e6c82aedb58309bdcdd041cabb5f82ec62234.tar.gz |
It's unnecessary code which I'm not sure we ever used. In retrospect, completely clearing the environment doesn't make sense for the processes we spawn. We don't need to clobber individual environment variables in our code, either (and if we did for tests, we can use 'local').
-rw-r--r-- | lib/PublicInbox/Spawn.pm | 12 | ||||
-rw-r--r-- | t/spawn.t | 10 |
2 files changed, 1 insertions, 21 deletions
diff --git a/lib/PublicInbox/Spawn.pm b/lib/PublicInbox/Spawn.pm index b946a663..6493ad38 100644 --- a/lib/PublicInbox/Spawn.pm +++ b/lib/PublicInbox/Spawn.pm @@ -193,17 +193,7 @@ sub spawn ($;$$) { my @env; $opts ||= {}; - my %env = $opts->{-env} ? () : %ENV; - if ($env) { - foreach my $k (keys %$env) { - my $v = $env->{$k}; - if (defined $v) { - $env{$k} = $v; - } else { - delete $env{$k}; - } - } - } + my %env = $env ? (%ENV, %$env) : %ENV; while (my ($k, $v) = each %env) { push @env, "$k=$v"; } @@ -39,16 +39,6 @@ use PublicInbox::Spawn qw(which spawn popen_rd); } { - my ($r, $w); - pipe $r, $w or die "pipe failed: $!"; - my $pid = spawn(['env'], {}, { -env => 1, 1 => fileno($w) }); - close $w or die "close pipe[1] failed: $!"; - ok(!defined(<$r>), 'read stdout of spawned from pipe'); - is(waitpid($pid, 0), $pid, 'waitpid succeeds on spawned process'); - is($?, 0, 'env(1) exited successfully'); -} - -{ my $fh = popen_rd([qw(echo hello)]); ok(fileno($fh) >= 0, 'tied fileno works'); my $l = <$fh>; |