From f0da3ed7de7ad6b8edfa9f1c4242747d6a864a23 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 12 Jan 2020 21:17:48 +0000 Subject: [PATCH] ds: add an in_loop() function for Inbox.pm use Inbox.pm accessing the $in_loop variable directly raises warnings when Inbox is loaded without DS. --- lib/PublicInbox/DS.pm | 2 ++ lib/PublicInbox/Inbox.pm | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/PublicInbox/DS.pm b/lib/PublicInbox/DS.pm index fe794512..b441adc9 100644 --- a/lib/PublicInbox/DS.pm +++ b/lib/PublicInbox/DS.pm @@ -255,6 +255,8 @@ sub reap_pids { # reentrant SIGCHLD handler (since reap_pids is not reentrant) sub enqueue_reap ($) { push @$nextq, \&reap_pids }; +sub in_loop () { $in_loop } + sub EpollEventLoop { local $in_loop = 1; do { diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm index ff800965..e834d565 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::in_loop } or return 0; + eval { PublicInbox::DS::in_loop() } or return 0; eval { require Devel::Peek; # needs separate package in Fedora -- 2.44.0