about summary refs log tree commit homepage
path: root/lib/PublicInbox/V2Writable.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-05-28 22:37:21 +0000
committerEric Wong <e@80x24.org>2021-05-28 22:38:43 +0000
commite3b920c4fdf4fb981306cc3fc832bdd367ccc922 (patch)
tree2ed199def390bd48faa48f0e073ae08b473ebe74 /lib/PublicInbox/V2Writable.pm
parent5944277a4dc986f9adf9ba69a1e6e44899ad98c1 (diff)
downloadpublic-inbox-e3b920c4fdf4fb981306cc3fc832bdd367ccc922.tar.gz
This allows "lei-managed pseudo mailing lists" as described
by Konstantin.

Alternates use is optional and can be enables via --shared.

This doesn't manage or edit ~/.public-inbox/config; presumably
there'll need to be some tweaking of search parameters before
finalizing and making the inbox publicly accessible via HTTP/NNTP.

Link: https://public-inbox.org/meta/20210426164454.5zd5kgugfhfwfkpo@nitro.local/T/
Diffstat (limited to 'lib/PublicInbox/V2Writable.pm')
-rw-r--r--lib/PublicInbox/V2Writable.pm11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm
index 0461257f..573d9c6f 100644
--- a/lib/PublicInbox/V2Writable.pm
+++ b/lib/PublicInbox/V2Writable.pm
@@ -6,7 +6,7 @@
 package PublicInbox::V2Writable;
 use strict;
 use v5.10.1;
-use parent qw(PublicInbox::Lock);
+use parent qw(PublicInbox::Lock PublicInbox::IPC);
 use PublicInbox::SearchIdxShard;
 use PublicInbox::IPC;
 use PublicInbox::Eml;
@@ -1431,4 +1431,13 @@ W: interrupted, --xapian-only --reindex required upon restart
 EOF
 }
 
+sub ipc_atfork_child {
+        my ($self) = @_;
+        if (my $lei = delete $self->{lei}) {
+                $lei->_lei_atfork_child;
+                close(delete $lei->{pkt_op_p});
+        }
+        $self->SUPER::ipc_atfork_child;
+}
+
 1;