diff options
author | Eric Wong <e@80x24.org> | 2016-08-11 19:15:23 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2016-08-12 02:25:50 +0000 |
commit | 9a38d54754c724c5f81e8dc000bd42dbeddc39a6 (patch) | |
tree | fe763a98b19c81e408120e3d6dc076fcd603014d | |
parent | b0f783fe601cfcaf89b30de461a540434f63b3ee (diff) | |
download | public-inbox-9a38d54754c724c5f81e8dc000bd42dbeddc39a6.tar.gz |
This can be useful for adding new lists, as restarting is expensive (but still non-lossy).
-rwxr-xr-x | script/public-inbox-watch | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/script/public-inbox-watch b/script/public-inbox-watch index 42ae55ae..bb655929 100755 --- a/script/public-inbox-watch +++ b/script/public-inbox-watch @@ -5,10 +5,15 @@ use strict; use warnings; use PublicInbox::WatchMaildir; use PublicInbox::Config; -my $config = PublicInbox::Config->new; -my $watch_md = PublicInbox::WatchMaildir->new($config); +my ($config, $watch_md); +my $reload = sub { + $config = PublicInbox::Config->new; + $watch_md = PublicInbox::WatchMaildir->new($config); +}; +$reload->(); if ($watch_md) { - my $scan = sub { $watch_md->scan }; + my $scan = sub { $watch_md->scan if $watch_md }; + $SIG{HUP} = $reload; $SIG{USR1} = $scan; $SIG{ALRM} = sub { $SIG{ALRM} = 'DEFAULT'; $scan->() }; alarm(1); |