]> Sergey Matveev's repositories - public-inbox.git/blobdiff - script/public-inbox-watch
view: avoid deduping a single word in subject skeletons
[public-inbox.git] / script / public-inbox-watch
index bb655929fdbf0050a5f37d4ed622eab759962114..0d1cd8319fed5f44a89542ff0aaa27dfc0089385 100755 (executable)
@@ -8,14 +8,19 @@ use PublicInbox::Config;
 my ($config, $watch_md);
 my $reload = sub {
        $config = PublicInbox::Config->new;
+       $watch_md->quit if $watch_md;
        $watch_md = PublicInbox::WatchMaildir->new($config);
 };
 $reload->();
 if ($watch_md) {
-       my $scan = sub { $watch_md->scan if $watch_md };
+       my $scan = sub { $watch_md->trigger_scan('full') if $watch_md };
        $SIG{HUP} = $reload;
        $SIG{USR1} = $scan;
        $SIG{ALRM} = sub { $SIG{ALRM} = 'DEFAULT'; $scan->() };
+       $SIG{QUIT} = $SIG{TERM} = $SIG{INT} = sub {
+               $watch_md->quit if $watch_md;
+               $watch_md = undef;
+       };
        alarm(1);
-       $watch_md->watch;
+       $watch_md->watch while ($watch_md);
 }