From 2ad19256bc285e40188a9058941883979ff45c86 Mon Sep 17 00:00:00 2001
From: Eric Wong <e@80x24.org>
Date: Sun, 15 Dec 2019 08:35:30 +0000
Subject: [PATCH] inbox: fix periodic git process cleanup

We need to use $PublicInbox::DS::in_loop instead of ::running().
The latter is not valid for systems with signalfd or kqueue and
is now gone, completely.

Not needing periodic cleanups at all to deal with unlinked pack
indices will be a tougher task...
---
 lib/PublicInbox/DS.pm    | 2 --
 lib/PublicInbox/Inbox.pm | 2 +-
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/lib/PublicInbox/DS.pm b/lib/PublicInbox/DS.pm
index 856884bb..62aa3c2d 100644
--- a/lib/PublicInbox/DS.pm
+++ b/lib/PublicInbox/DS.pm
@@ -255,8 +255,6 @@ sub reap_pids {
 # reentrant SIGCHLD handler (since reap_pids is not reentrant)
 sub enqueue_reap ($) { push @$nextq, \&reap_pids };
 
-sub running () { ($SIG{CHLD} // '') eq \&enqueue_reap }
-
 sub EpollEventLoop {
     local $in_loop = 1;
     do {
diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm
index 43c6a428..f294c0d5 100644
--- a/lib/PublicInbox/Inbox.pm
+++ b/lib/PublicInbox/Inbox.pm
@@ -52,7 +52,7 @@ sub cleanup_task () {
 sub cleanup_possible () {
 	# no need to require DS, here, if it were enabled another
 	# module would've require'd it, already
-	eval { PublicInbox::DS::running() } or return 0;
+	eval { $PublicInbox::DS::in_loop } or return 0;
 
 	eval {
 		require Devel::Peek; # needs separate package in Fedora
-- 
2.50.0