diff options
author | Eric Wong <e@80x24.org> | 2019-06-01 03:27:55 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-06-01 03:31:13 +0000 |
commit | cae0b428a91712ecc0ef28d6c56dcf252b0206f8 (patch) | |
tree | fa8a68f99e83fe13436252e7e7947606ac684f23 | |
parent | f44196a157cc8d806b142230d4ecf5f2687c0352 (diff) | |
download | public-inbox-cae0b428a91712ecc0ef28d6c56dcf252b0206f8.tar.gz |
No reason to leave that (usually) empty file open after killing off "cat-file --batch-check". This wasn't an unbound leak, though, as respawning the --batch-check process would've clobbered the old err_c file.
-rw-r--r-- | lib/PublicInbox/Git.pm | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index 9a38d7c8..9014e021 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -211,9 +211,10 @@ sub check { } 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 @@ sub qx { 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}); } |