This is necessary to reliably cleanup cat-file processes for
coderepos in long-lived -netd and -httpd processes if they
haven't been accessed in a while.
Followup-to: 33e99002c552 (git: cleanup un-associated coderepo processes)
---
lib/PublicInbox/Git.pm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm
index a1d52118..191e4eea 100644
--- a/lib/PublicInbox/Git.pm
+++ b/lib/PublicInbox/Git.pm
@@ -476,7 +476,8 @@ sub async_wait_all ($) {
# returns true if there are pending "git cat-file" processes
sub cleanup {
my ($self, $lazy) = @_;
- return 1 if $lazy && _active($self);
+ ($lazy && _active($self)) and
+ return $self->{epwatch} ? watch_async($self) : 1;
local $in_cleanup = 1;
async_wait_all($self);
$_->close for ($self, (delete($self->{ck}) // ()));