]> Sergey Matveev's repositories - public-inbox.git/commitdiff
inbox: fix periodic git process cleanup
authorEric Wong <e@80x24.org>
Sun, 15 Dec 2019 08:35:30 +0000 (08:35 +0000)
committerEric Wong <e@80x24.org>
Sun, 15 Dec 2019 19:43:33 +0000 (19:43 +0000)
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
lib/PublicInbox/Inbox.pm

index 856884bbb9130e7dff9065e05619e98b385d1634..62aa3c2d94aa6bff6f4007937b52b45fbd1c64de 100644 (file)
@@ -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 {
index 43c6a4285e29b71bdec75bb8a452c2567f28275a..f294c0d515f74aa4e8eb584d70d73d38fd10e603 100644 (file)
@@ -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