X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FLeiPmdir.pm;h=d4aa0212bea7dfb4ce3766cf13eb20c040eb0ecc;hb=23af251dd607c4e75ab1e68063f2c885c48cc035;hp=59cf886e1526854db0755429b59ac2dba445e8aa;hpb=5a27f82749d723625848c8d1cf216a0f4de73597;p=public-inbox.git diff --git a/lib/PublicInbox/LeiPmdir.pm b/lib/PublicInbox/LeiPmdir.pm index 59cf886e..d4aa0212 100644 --- a/lib/PublicInbox/LeiPmdir.pm +++ b/lib/PublicInbox/LeiPmdir.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2021 all contributors +# Copyright (C) all contributors # License: AGPL-3.0+ # WQ worker for dealing with parallel Maildir reads; @@ -32,7 +32,8 @@ sub new { sub ipc_atfork_child { my ($self) = @_; my $ipt = $self->{ipt} // die 'BUG: no self->{ipt}'; - $ipt->{lei} = $self->{lei}; + my $lei = $ipt->{lei} = $self->{lei}; + delete @$lei{qw(auth net)}; # no network access in this worker $ipt->ipc_atfork_child; # calls _lei_atfork_child; } @@ -46,17 +47,8 @@ sub mdir_iter { # via wq_io_do $self->{ipt}->pmdir_cb($f, $fl, @args); } -sub pmd_done_wait { - my ($arg, $pid) = @_; - my ($self, $lei) = @$arg; - $lei->can('wq_done_wait')->($arg, $pid); -} - sub _lei_wq_eof { # EOF callback for main lei daemon - my ($lei) = @_; - my $pmd = delete $lei->{pmd} or return $lei->fail; - $lei->sto_done_request($pmd->{lei_sock}); - $pmd->wq_wait_old(\&pmd_done_wait, $lei); + $_[0]->wq_eof('pmd'); } 1;