X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=script%2Fpublic-inbox-watch;h=e07c30beaadc84c4405d394d8fa4fa0ebdc3959c;hb=be4d92e74dd0b1c8de85bc08c3c522af2d8d8656;hp=a72180c90b74c89f35315196e237a632953671f0;hpb=5bde05b66f084c7c9dcf7389079aab6925aef328;p=public-inbox.git
diff --git a/script/public-inbox-watch b/script/public-inbox-watch
index a72180c9..e07c30be 100755
--- a/script/public-inbox-watch
+++ b/script/public-inbox-watch
@@ -1,5 +1,5 @@
#!/usr/bin/perl -w
-# Copyright (C) 2016 all contributors
+# Copyright (C) 2016-2018 all contributors
# License: AGPL-3.0+
use strict;
use warnings;
@@ -13,10 +13,14 @@ my $reload = sub {
};
$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 while ($watch_md);
}