about summary refs log tree commit homepage
path: root/lib/PublicInbox/Daemon.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-05-15 10:39:19 +0000
committerEric Wong <e@80x24.org>2019-05-15 10:54:45 +0000
commitb6f480ed58abc5ae2a426ef4f792621b9d3cf283 (patch)
treea7b09a555b65b4df74c1b54e9c48df8ce397d21d /lib/PublicInbox/Daemon.pm
parent7aef27f1a1dd59cfb107a41ca6215059e931d62b (diff)
downloadpublic-inbox-b6f480ed58abc5ae2a426ef4f792621b9d3cf283.tar.gz
It's only useful for a corner case in long-running daemons when
an admin decides to compact or vacuum a Xapian or SQLite DB.

As a result, other scripts should run slightly faster.  For
instance, this saves about 80ms (2.710s => 2.630s) in t/mda.t
on my remote workstation.

While we're at it, make sure EvCleanup is properly require'd
in Daemon.pm and HTTP.pm and document our use of Devel::Peek.
Diffstat (limited to 'lib/PublicInbox/Daemon.pm')
-rw-r--r--lib/PublicInbox/Daemon.pm3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/PublicInbox/Daemon.pm b/lib/PublicInbox/Daemon.pm
index 68ba9876..227ba5f9 100644
--- a/lib/PublicInbox/Daemon.pm
+++ b/lib/PublicInbox/Daemon.pm
@@ -13,6 +13,7 @@ use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC);
 STDOUT->autoflush(1);
 STDERR->autoflush(1);
 require PublicInbox::DS;
+require PublicInbox::EvCleanup;
 require POSIX;
 require PublicInbox::Listener;
 require PublicInbox::ParentPipe;
@@ -463,6 +464,7 @@ sub master_loop {
 
 sub daemon_loop ($$) {
         my ($refresh, $post_accept) = @_;
+        PublicInbox::EvCleanup::enable(); # early for $refresh
         my $parent_pipe;
         if ($worker_processes > 0) {
                 $refresh->(); # preload by default
@@ -485,7 +487,6 @@ sub daemon_loop ($$) {
         @listeners = map {
                 PublicInbox::Listener->new($_, $post_accept)
         } @listeners;
-        PublicInbox::EvCleanup::enable();
         PublicInbox::DS->EventLoop;
         $parent_pipe = undef;
 }