* [PATCH 2/3] watch: set %SIG for non-signalfd/kqueue
2023-09-08 10:51 6% [PATCH 0/3] sig handling fixes for non-signalfd/kqueue Eric Wong
@ 2023-09-08 10:51 7% ` Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2023-09-08 10:51 UTC (permalink / raw)
To: meta
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(+)
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;
^ permalink raw reply related [relevance 7%]
* [PATCH 0/3] sig handling fixes for non-signalfd/kqueue
@ 2023-09-08 10:51 6% Eric Wong
2023-09-08 10:51 7% ` [PATCH 2/3] watch: set %SIG " Eric Wong
0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2023-09-08 10:51 UTC (permalink / raw)
To: meta
The first two fix t/imapd.t getting stuck when waiting for
-watch to reload after setting imap.pollInterval. This only
affects non-Linux users without IO::KQueue installed.
3/3 doesn't fix anything exposed in tests, but is defense
against PID typos by someone trying to trigger a reload/rescan
on the toplevel -watch process.
Eric Wong (3):
ds: unblock signals for non-signalfd/kqueue correctly
watch: set %SIG for non-signalfd/kqueue
watch: reset HUP + USR1 signal handlers in children
lib/PublicInbox/DS.pm | 16 ++++++++++------
lib/PublicInbox/Watch.pm | 7 ++++---
script/public-inbox-watch | 3 ++-
3 files changed, 16 insertions(+), 10 deletions(-)
^ permalink raw reply [relevance 6%]
Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2023-09-08 10:51 6% [PATCH 0/3] sig handling fixes for non-signalfd/kqueue Eric Wong
2023-09-08 10:51 7% ` [PATCH 2/3] watch: set %SIG " 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).