user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [PATCH 6/7] spawn: remove support for clearing the env
  2019-11-29 10:14  6% [PATCH 0/7] some low impact changes and cleanups Eric Wong
@ 2019-11-29 10:14  7% ` Eric Wong
  0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2019-11-29 10:14 UTC (permalink / raw)
  To: meta

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 | 12 +-----------
 t/spawn.t                | 10 ----------
 2 files changed, 1 insertion(+), 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";
 	}
diff --git a/t/spawn.t b/t/spawn.t
index ebebfb57..2e409157 100644
--- 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');

^ permalink raw reply related	[relevance 7%]

* [PATCH 0/7] some low impact changes and cleanups
@ 2019-11-29 10:14  6% Eric Wong
  2019-11-29 10:14  7% ` [PATCH 6/7] spawn: remove support for clearing the env Eric Wong
  0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2019-11-29 10:14 UTC (permalink / raw)
  To: meta

Some other changes coming in the next few days, I hope;
but the straightforward stuff, first...

Eric Wong (7):
  t: localize the PI_CONFIG env
  t/common: set $0 when running script w/o fork
  ds: ->Reset initializes $nextq
  TODO: update and add a few more items
  tests: don't repeatly validate NEWS.atom
  spawn: remove support for clearing the env
  import: (cleanup) drop redundant env arg to run_die

 .gitignore                |  1 +
 Documentation/include.mk  |  5 +++--
 TODO                      | 12 +++++++++---
 lib/PublicInbox/DS.pm     |  5 +++--
 lib/PublicInbox/Import.pm |  4 ++--
 lib/PublicInbox/Spawn.pm  | 12 +-----------
 t/common.perl             |  1 +
 t/indexlevels-mirror.t    |  1 +
 t/spawn.t                 | 10 ----------
 t/xcpdb-reshard.t         |  1 +
 10 files changed, 22 insertions(+), 30 deletions(-)


^ permalink raw reply	[relevance 6%]

Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2019-11-29 10:14  6% [PATCH 0/7] some low impact changes and cleanups Eric Wong
2019-11-29 10:14  7% ` [PATCH 6/7] spawn: remove support for clearing the env Eric Wong

Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).