From: Eric Wong Date: Sun, 15 Dec 2019 08:35:30 +0000 (+0000) Subject: inbox: fix periodic git process cleanup X-Git-Tag: v1.3.0~225 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=2ad19256bc285e40188a9058941883979ff45c86 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... --- 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