]> Sergey Matveev's repositories - public-inbox.git/commitdiff
watch: ensure SIGCHLD works in forked children
authorEric Wong <e@yhbt.net>
Mon, 29 Jun 2020 10:34:19 +0000 (10:34 +0000)
committerEric Wong <e@yhbt.net>
Tue, 30 Jun 2020 03:05:26 +0000 (03:05 +0000)
In case our git or spam checker subprocesses spawn
subprocesses of their own.  We'll also ensure signal
handlers are properly setup before unblocking them.

lib/PublicInbox/WatchMaildir.pm

index 25b87e938e051dd82877066ec1d7e676ed8427d4..288f64d1e6c23e1fd53dfbf1d094dff5379f734e 100644 (file)
@@ -527,8 +527,8 @@ sub watch_atfork_child ($) {
        delete $self->{poll_pids};
        delete $self->{opendirs};
        PublicInbox::DS->Reset;
+       %SIG = (%SIG, %{$self->{sig}}, CHLD => 'DEFAULT');
        PublicInbox::Sigfd::sig_setmask($self->{oldset});
-       %SIG = (%SIG, %{$self->{sig}});
 }
 
 sub watch_atfork_parent ($) {