]> Sergey Matveev's repositories - public-inbox.git/commitdiff
spawn: remove support for clearing the env
authorEric Wong <e@80x24.org>
Fri, 29 Nov 2019 10:14:13 +0000 (10:14 +0000)
committerEric Wong <e@80x24.org>
Wed, 11 Dec 2019 08:10:32 +0000 (08:10 +0000)
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').

lib/PublicInbox/Spawn.pm
t/spawn.t

index b946a66373b84faedaef1a71d02329a2cf8587fe..6493ad387cdbcb915ca71fcbdc325f0ce673f768 100644 (file)
@@ -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";
        }
index ebebfb57eafc078577c4b79bc6021fce8d6c4846..2e4091574e1be4bcbafd91ff851f0938f60557ef 100644 (file)
--- a/t/spawn.t
+++ b/t/spawn.t
@@ -38,16 +38,6 @@ use PublicInbox::Spawn qw(which spawn popen_rd);
        is($?, 0, 'sh exited successfully');
 }
 
-{
-       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');