From ea019542d372b4d44169d06951d4dbce23ce207d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 23 Jan 2021 10:27:48 +0000 Subject: [PATCH] lei_to_mail: drop cyclic reference if not using IPC This may fix another interrupt-related segfault I'm occasionally seeing (but so far unable to reproduce). --- lib/PublicInbox/LeiToMail.pm | 3 +++ 1 file changed, 3 insertions(+) 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; -- 2.50.0