From 530db44a85fc48c63b7f97a056f384946753b7ed Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 8 Sep 2023 10:51:14 +0000 Subject: watch: set %SIG for non-signalfd/kqueue We need to ensure there isn't a window where we lose $SIG{CHLD} handling. This is the second part in getting t/imapd.t to pass the reload-after-setting-imap.pollInterval test That said, I'm not entirely happy with the way -watch jumps in and out of the event loop. It's historical baggage from the pre-event_loop days. --- script/public-inbox-watch | 1 + 1 file changed, 1 insertion(+) (limited to 'script') diff --git a/script/public-inbox-watch b/script/public-inbox-watch index 75a9a36b..870cd31b 100755 --- a/script/public-inbox-watch +++ b/script/public-inbox-watch @@ -52,6 +52,7 @@ if ($watch) { CHLD => \&PublicInbox::DS::enqueue_reap, }; $sig->{QUIT} = $sig->{TERM} = $sig->{INT} = $quit; + local @SIG{keys %$sig} = values(%$sig); # for non-signalfd/kqueue # --no-scan is only intended for testing atm, undocumented. PublicInbox::DS::requeue($scan) if $do_scan; -- cgit v1.2.3-24-ge0c7