diff options
author | Eric Wong <e@yhbt.net> | 2020-06-10 07:04:31 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2020-06-13 07:55:45 +0000 |
commit | f1c9ad532f8dd46df172cfde85329a6e00ed1eab (patch) | |
tree | 0ea94c773af1126d54fc2f39e71f71a61985aeed /lib/PublicInbox/Git.pm | |
parent | 3c7c389f514f9123667926af1613b5c79833085c (diff) | |
download | public-inbox-f1c9ad532f8dd46df172cfde85329a6e00ed1eab.tar.gz |
Trying to avoid a circular reference by relying on $ibx object here makes no sense, since skipping GitCatAsync::close will result in an FD leak, anyways. So keep GitAsyncCat contained to git-only operations, since we'll be using it for Solver in the distant feature.
Diffstat (limited to 'lib/PublicInbox/Git.pm')
-rw-r--r-- | lib/PublicInbox/Git.pm | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index b3ae2b81..60236afe 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -283,6 +283,9 @@ sub qx { # returns true if there are pending "git cat-file" processes sub cleanup { my ($self) = @_; + if (my $ac = $self->{async_cat}) { + $ac->close; # PublicInbox::GitAsyncCat::close -> EPOLL_CTL_DEL + } cat_async_wait($self); _destroy($self, qw(cat_rbuf in out pid)); _destroy($self, qw(chk_rbuf in_c out_c pid_c err_c)); |