lib/PublicInbox/Git.pm | 5 +++-- diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index 9a38d7c8dce83bc0aa13d0ee870ab33924390580..9014e021cedcb9084ac50eea515e0a71119f1e94 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -211,9 +211,10 @@ ($hex, $type, $size); } sub _destroy { - my ($self, $in, $out, $pid) = @_; + my ($self, $in, $out, $pid, $err) = @_; my $p = delete $self->{$pid} or return; delete @$self{($in, $out)}; + delete $self->{$err} if $err; # `err_c' waitpid $p, 0; } @@ -243,7 +244,7 @@ # returns true if there are pending "git cat-file" processes sub cleanup { my ($self) = @_; _destroy($self, qw(in out pid)); - _destroy($self, qw(in_c out_c pid_c)); + _destroy($self, qw(in_c out_c pid_c err_c)); !!($self->{pid} || $self->{pid_c}); }