]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Qspawn.pm
qspawn: remove return value from ->finish
[public-inbox.git] / lib / PublicInbox / Qspawn.pm
index 4b9bca5a075cc50ef0ca76e39fcd611606350c56..6b350f0f7ed152a5def1104b5b72203c27d6f22e 100644 (file)
@@ -56,6 +56,11 @@ sub _do_spawn {
        }
 
        ($self->{rpipe}, $self->{pid}) = popen_rd($cmd, $env, \%opts);
+
+       # drop any IO handles opt was holding open via $opt->{hold}
+       # No need to hold onto the descriptor once the child process has it.
+       $self->{args} = $cmd; # keep this around for logging
+
        if (defined $self->{pid}) {
                $limiter->{running}++;
        } else {
@@ -104,7 +109,7 @@ sub waitpid_err ($$) {
        $self->{err} = $err;
        my $env = $self->{env} or return;
        if (!$env->{'qspawn.quiet'}) {
-               log_err($env, join(' ', @{$self->{args}->[0]}) . ": $err");
+               log_err($env, join(' ', @{$self->{args}}) . ": $err");
        }
 }
 
@@ -136,7 +141,6 @@ sub finish ($;$) {
                        _do_spawn(@$next);
                }
        }
-       $self->{err}; # may be meaningless if non-blocking
 }
 
 sub start {