about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-01-23 10:27:48 +0000
committerEric Wong <e@80x24.org>2021-01-23 23:45:26 +0000
commitea019542d372b4d44169d06951d4dbce23ce207d (patch)
treec8f0ec2ae4b71caf693a17a7e665d54fd49bf57c
parenta4fa97d8ecd32927f0f3d6580c474059b59dabd2 (diff)
downloadpublic-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.pm3
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;