From 28d5a8d647e3ab56cc5570af0d6f3ccf75dc91f2 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 22 Sep 2021 02:24:30 +0000 Subject: treewide: fix %SIG localization, harder This fixes the occasional t/lei-sigpipe.t infinite loop under "make check-run". Link: http://nntp.perl.org/group/perl.perl5.porters/258784 Followup-to: b552bb9150775fe4 ("daemon+watch: fix localization of %SIG for non-signalfd users") --- lib/PublicInbox/Watch.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/PublicInbox/Watch.pm') diff --git a/lib/PublicInbox/Watch.pm b/lib/PublicInbox/Watch.pm index 387eb6d2..0523ad03 100644 --- a/lib/PublicInbox/Watch.pm +++ b/lib/PublicInbox/Watch.pm @@ -384,7 +384,9 @@ sub watch_atfork_child ($) { delete $self->{poll_pids}; delete $self->{opendirs}; PublicInbox::DS->Reset; - %SIG = (%SIG, %{$self->{sig}}, CHLD => 'DEFAULT'); + my $sig = delete $self->{sig}; + $sig->{CHLD} = 'DEFAULT'; + @SIG{keys %$sig} = values %$sig; PublicInbox::DS::sig_setmask($self->{oldset}); } -- cgit v1.2.3-24-ge0c7