about summary refs log tree commit homepage
path: root/lib/PublicInbox/WatchMaildir.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2017-06-24 00:00:04 +0000
committerEric Wong <e@80x24.org>2017-06-26 03:07:46 +0000
commit5bde05b66f084c7c9dcf7389079aab6925aef328 (patch)
treecdf20cac4e189fc373116b0270e9f5f3f5b6edcf /lib/PublicInbox/WatchMaildir.pm
parent23d896234f3eb5e579de2e8ddf3c723654862ade (diff)
downloadpublic-inbox-5bde05b66f084c7c9dcf7389079aab6925aef328.tar.gz
Otherwise the old watcher may run indefinitely
Diffstat (limited to 'lib/PublicInbox/WatchMaildir.pm')
-rw-r--r--lib/PublicInbox/WatchMaildir.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/PublicInbox/WatchMaildir.pm b/lib/PublicInbox/WatchMaildir.pm
index c15e1384..f81a917c 100644
--- a/lib/PublicInbox/WatchMaildir.pm
+++ b/lib/PublicInbox/WatchMaildir.pm
@@ -179,6 +179,8 @@ sub _try_path {
         $im->add($mime, $self->{spamcheck});
 }
 
+sub quit { $_[0]->{quit} = 1 }
+
 sub watch {
         my ($self) = @_;
         my $cb = sub { _try_fsn_paths($self, \@_) };
@@ -188,7 +190,7 @@ sub watch {
         # in the future...
         require Filesys::Notify::Simple;
         my $watcher = Filesys::Notify::Simple->new($mdir);
-        $watcher->wait($cb) while (1);
+        $watcher->wait($cb) until ($self->{quit});
 }
 
 sub scan {