X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=script%2Fpublic-inbox-watch;h=2057066a2a9038589120d7ed424550aef44b1444;hb=b2b1006759730507731fcd3fc3e0de68239e3b92;hp=51f1baa29c98868c6d9ded5c57702540fc1d3a46;hpb=f9b70eb6ebbf96c2fe79ab2738ea4954c5a124f3;p=public-inbox.git diff --git a/script/public-inbox-watch b/script/public-inbox-watch index 51f1baa2..2057066a 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-2020 all contributors # License: AGPL-3.0+ use strict; use warnings; @@ -17,6 +17,11 @@ if ($watch_md) { $SIG{HUP} = $reload; $SIG{USR1} = $scan; $SIG{ALRM} = sub { $SIG{ALRM} = 'DEFAULT'; $scan->() }; - alarm(1); + $SIG{QUIT} = $SIG{TERM} = $SIG{INT} = sub { + $watch_md->quit if $watch_md; + $watch_md = undef; + }; + # --no-scan is only intended for testing atm, undocumented. + alarm(1) unless (grep(/\A--no-scan\z/, @ARGV)); $watch_md->watch while ($watch_md); }