user/dev discussion of public-inbox itself
 help / color / Atom feed
From: Eric Wong <e@80x24.org>
To: meta@public-inbox.org
Subject: [PATCH 6/7] spawn: remove support for clearing the env
Date: Fri, 29 Nov 2019 10:14:13 +0000
Message-ID: <20191129101414.343-7-e@80x24.org> (raw)
In-Reply-To: <20191129101414.343-1-e@80x24.org>

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');

  parent reply index

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-29 10:14 [PATCH 0/7] some low impact changes and cleanups Eric Wong
2019-11-29 10:14 ` [PATCH 1/7] t: localize the PI_CONFIG env Eric Wong
2019-11-29 10:14 ` [PATCH 2/7] t/common: set $0 when running script w/o fork Eric Wong
2019-11-29 10:14 ` [PATCH 3/7] ds: ->Reset initializes $nextq Eric Wong
2019-11-29 10:14 ` [PATCH 4/7] TODO: update and add a few more items Eric Wong
2019-11-29 10:14 ` [PATCH 5/7] tests: don't repeatly validate NEWS.atom Eric Wong
2019-11-29 10:14 ` Eric Wong [this message]
2019-11-29 10:14 ` [PATCH 7/7] import: (cleanup) drop redundant env arg to run_die Eric Wong

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://public-inbox.org/README

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191129101414.343-7-e@80x24.org \
    --to=e@80x24.org \
    --cc=meta@public-inbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

user/dev discussion of public-inbox itself

Archives are clonable:
	git clone --mirror http://public-inbox.org/meta
	git clone --mirror http://czquwvybam4bgbro.onion/meta
	git clone --mirror http://hjrcffqmbrq6wope.onion/meta
	git clone --mirror http://ou63pmih66umazou.onion/meta

Example config snippet for mirrors

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.mail.public-inbox.meta
	nntp://ou63pmih66umazou.onion/inbox.comp.mail.public-inbox.meta
	nntp://czquwvybam4bgbro.onion/inbox.comp.mail.public-inbox.meta
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.mail.public-inbox.meta
	nntp://news.gmane.org/gmane.mail.public-inbox.general

 note: .onion URLs require Tor: https://www.torproject.org/

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git