user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
* [PATCH] public-inbox-watch: support reloading config with SIGHUP
@ 2016-08-11 19:20 Eric Wong
  0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2016-08-11 19:20 UTC (permalink / raw)
  To: meta

This can be useful for adding new lists, as restarting is
expensive (but still non-lossy).
---
 script/public-inbox-watch | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/script/public-inbox-watch b/script/public-inbox-watch
index 42ae55a..bb65592 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);
-- 
EW


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-08-11 19:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-11 19:20 [PATCH] public-inbox-watch: support reloading config with SIGHUP Eric Wong

Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).