X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=script%2Fpublic-inbox-watch;h=5cbf761b501a133d0b25937433e877e9950adb9c;hb=420fddb8b683637cc1fd39727896cac4a459c3b6;hp=a72180c90b74c89f35315196e237a632953671f0;hpb=5bde05b66f084c7c9dcf7389079aab6925aef328;p=public-inbox.git diff --git a/script/public-inbox-watch b/script/public-inbox-watch index a72180c9..5cbf761b 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-2019 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); }