about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-02-23 03:38:22 +0600
committerEric Wong <e@80x24.org>2021-02-24 11:12:57 +0000
commit2d22af21032993d641554e6157166cb2a3c6f57b (patch)
treed3beafd0e436c47e3e34c85762ea15bb867a00ec
parente01fe4f05196b56775fffffe23572ec648b14ec6 (diff)
downloadpublic-inbox-2d22af21032993d641554e6157166cb2a3c6f57b.tar.gz
We already localize %ENV before calling dispatch(), so
it's needless overhead in spawn() to be checking env for
undef values in those cases.
-rw-r--r--lib/PublicInbox/LEI.pm4
-rw-r--r--lib/PublicInbox/LeiMirror.pm6
-rw-r--r--lib/PublicInbox/LeiToMail.pm4
-rw-r--r--lib/PublicInbox/LeiXSearch.pm4
4 files changed, 9 insertions, 9 deletions
diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm
index 28e5365a..8cd95ac2 100644
--- a/lib/PublicInbox/LEI.pm
+++ b/lib/PublicInbox/LEI.pm
@@ -850,8 +850,7 @@ sub poke_mua { # forces terminal MUAs to wake up and hopefully notice new mail
 # caller needs to "-t $self->{1}" to check if tty
 sub start_pager {
         my ($self) = @_;
-        my $env = $self->{env};
-        my $fh = popen_rd([qw(git var GIT_PAGER)], $env);
+        my $fh = popen_rd([qw(git var GIT_PAGER)]);
         chomp(my $pager = <$fh> // '');
         close($fh) or warn "`git var PAGER' error: \$?=$?";
         return if $pager eq 'cat' || $pager eq '';
@@ -860,6 +859,7 @@ sub start_pager {
         pipe(my ($r, $wpager)) or return warn "pipe: $!";
         my $rdr = { 0 => $r, 1 => $self->{1}, 2 => $self->{2} };
         my $pgr = [ undef, @$rdr{1, 2} ];
+        my $env = $self->{env};
         if ($self->{sock}) { # lei(1) process runs it
                 delete @$new_env{keys %$env}; # only set iff unset
                 send_exec_cmd($self, [ @$rdr{0..2} ], [$pager], $new_env);
diff --git a/lib/PublicInbox/LeiMirror.pm b/lib/PublicInbox/LeiMirror.pm
index f8ca1ee5..65818796 100644
--- a/lib/PublicInbox/LeiMirror.pm
+++ b/lib/PublicInbox/LeiMirror.pm
@@ -32,7 +32,7 @@ sub try_scrape {
         my $curl = $self->{curl} //= PublicInbox::LeiCurl->new($lei) or return;
         my $cmd = $curl->for_uri($lei, $uri, '--compressed');
         my $opt = { 0 => $lei->{0}, 2 => $lei->{2} };
-        my $fh = popen_rd($cmd, $lei->{env}, $opt);
+        my $fh = popen_rd($cmd, undef, $opt);
         my $html = do { local $/; <$fh> } // die "read(curl $uri): $!";
         close($fh) or return $lei->child_error($?, "@$cmd failed");
 
@@ -142,7 +142,7 @@ sub run_reap {
         my ($lei, $cmd, $opt) = @_;
         $lei->qerr("# @$cmd");
         $opt->{pgid} = 0;
-        my $pid = spawn($cmd, $lei->{env}, $opt);
+        my $pid = spawn($cmd, undef, $opt);
         my $reap = PublicInbox::OnDestroy->new($lei->can('sigint_reap'), $pid);
         my $err = waitpid($pid, 0) == $pid ? undef : "waitpid @$cmd: $!";
         @$reap = (); # cancel reap
@@ -205,7 +205,7 @@ sub try_manifest {
         my $cmd = $curl->for_uri($lei, $uri);
         $lei->qerr("# @$cmd");
         my $opt = { 0 => $lei->{0}, 2 => $lei->{2} };
-        my ($fh, $pid) = popen_rd($cmd, $lei->{env}, $opt);
+        my ($fh, $pid) = popen_rd($cmd, undef, $opt);
         my $reap = PublicInbox::OnDestroy->new($lei->can('sigint_reap'), $pid);
         my $gz = do { local $/; <$fh> } // die "read(curl $uri): $!";
         close $fh;
diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm
index 4f8706e7..630da67c 100644
--- a/lib/PublicInbox/LeiToMail.pm
+++ b/lib/PublicInbox/LeiToMail.pm
@@ -218,7 +218,7 @@ sub _post_augment_mbox { # open a compressor process
         my $cmd = zsfx2cmd($zsfx, undef, $lei);
         my ($r, $w) = @{delete $lei->{zpipe}};
         my $rdr = { 0 => $r, 1 => $lei->{1}, 2 => $lei->{2} };
-        my $pid = spawn($cmd, $lei->{env}, $rdr);
+        my $pid = spawn($cmd, undef, $rdr);
         my $pp = gensym;
         my $dup = bless { "pid.$pid" => $cmd }, ref($lei);
         $dup->{$_} = $lei->{$_} for qw(2 sock);
@@ -231,7 +231,7 @@ sub _post_augment_mbox { # open a compressor process
 sub decompress_src ($$$) {
         my ($in, $zsfx, $lei) = @_;
         my $cmd = zsfx2cmd($zsfx, 1, $lei);
-        popen_rd($cmd, $lei->{env}, { 0 => $in, 2 => $lei->{2} });
+        popen_rd($cmd, undef, { 0 => $in, 2 => $lei->{2} });
 }
 
 sub dup_src ($) {
diff --git a/lib/PublicInbox/LeiXSearch.pm b/lib/PublicInbox/LeiXSearch.pm
index 6dcadf0a..c46aba3b 100644
--- a/lib/PublicInbox/LeiXSearch.pm
+++ b/lib/PublicInbox/LeiXSearch.pm
@@ -215,7 +215,7 @@ sub query_remote_mboxrd {
         local $0 = "$0 query_remote_mboxrd";
         local $SIG{TERM} = sub { exit(0) }; # for DESTROY (File::Temp, $reap)
         my $lei = $self->{lei};
-        my ($opt, $env) = @$lei{qw(opt env)};
+        my $opt = $lei->{opt};
         my @qform = (q => $lei->{mset_opt}->{qstr}, x => 'm');
         push(@qform, t => 1) if $opt->{threads};
         my $verbose = $opt->{verbose};
@@ -241,7 +241,7 @@ sub query_remote_mboxrd {
                 $uri->query_form(@qform);
                 my $cmd = $curl->for_uri($lei, $uri);
                 $lei->qerr("# $cmd");
-                my ($fh, $pid) = popen_rd($cmd, $env, $rdr);
+                my ($fh, $pid) = popen_rd($cmd, undef, $rdr);
                 $reap_curl = PublicInbox::OnDestroy->new($sigint_reap, $pid);
                 $fh = IO::Uncompress::Gunzip->new($fh);
                 PublicInbox::MboxReader->mboxrd($fh, \&each_eml, $self,