X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=lib%2FPublicInbox%2FV2Writable.pm;h=51723e55ffb44662087f349a41a69a30fb36c5c1;hp=c8869bda3cf669b1de9428a570ce6ea0c5f6e2f0;hb=537eb7ec8c0f8ebd6fa39807a08515ccd3c4be66;hpb=c34a83286234ea1e876ebdf92a33744272bb6f4e diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index c8869bda..51723e55 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -204,9 +204,13 @@ sub idx_init { # need to create all parts before initializing msgmap FD my $max = $self->{partitions} - 1; - @{$self->{idx_parts}} = map { - PublicInbox::SearchIdxPart->new($self, $_, $skel); - } (0..$max); + + # idx_parts must be visible to all forked processes + my $idx = $self->{idx_parts} = []; + for my $i (0..$max) { + push @$idx, + PublicInbox::SearchIdxPart->new($self, $i, $skel); + } # Now that all subprocesses are up, we can open the FD for SQLite: $skel->_msgmap_init->{dbh}->begin_work;