diff options
author | Eric Wong <e@80x24.org> | 2021-01-23 10:27:48 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-01-23 23:45:26 +0000 |
commit | ea019542d372b4d44169d06951d4dbce23ce207d (patch) | |
tree | c8f0ec2ae4b71caf693a17a7e665d54fd49bf57c | |
parent | a4fa97d8ecd32927f0f3d6580c474059b59dabd2 (diff) | |
download | public-inbox-ea019542d372b4d44169d06951d4dbce23ce207d.tar.gz |
This may fix another interrupt-related segfault I'm occasionally seeing (but so far unable to reproduce).
-rw-r--r-- | lib/PublicInbox/LeiToMail.pm | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm index 43c59da0..438fb175 100644 --- a/lib/PublicInbox/LeiToMail.pm +++ b/lib/PublicInbox/LeiToMail.pm @@ -483,11 +483,14 @@ sub ipc_atfork_prepare { # ordering is unstable at worker exit and may cause segfaults sub reap_gits { my ($self) = @_; + delete $self->{wcb}; for my $git (delete @$self{grep(/\A$$\0/, keys %$self)}) { $git->async_wait_all; } } +sub DESTROY { delete $_[0]->{wcb} } + sub ipc_atfork_child { # runs after IPC::wq_worker_loop my ($self) = @_; $self->SUPER::ipc_atfork_child; |