]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiXSearch.pm
lei q: delay worker spawn
[public-inbox.git] / lib / PublicInbox / LeiXSearch.pm
index 965617b512984afedf3be4b6b31801f35302050c..ab66717c04e7b8142b70b386235011468aeb7780 100644 (file)
@@ -406,7 +406,13 @@ sub do_query {
        $lei->{ovv}->ovv_begin($lei);
        my ($au_done, $zpipe);
        my $l2m = $lei->{l2m};
+       $lei->atfork_prepare_wq($self);
+       $self->wq_workers_start('lei_xsearch', $self->{jobs}, $lei->oldset);
+       delete $self->{-ipc_atfork_child_close};
        if ($l2m) {
+               $lei->atfork_prepare_wq($l2m);
+               $l2m->wq_workers_start('lei2mail', $l2m->{jobs}, $lei->oldset);
+               delete $l2m->{-ipc_atfork_child_close};
                pipe($lei->{startq}, $au_done) or die "pipe: $!";
                # 1031: F_SETPIPE_SZ
                fcntl($lei->{startq}, 1031, 4096) if $^O eq 'linux';