$self->{sto}->wq_do('set_eml_vmd', undef, { kw => $kw }, \@docids);
}
-sub ikw_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 $ikw = delete $lei->{ikw} or return $lei->fail;
$lei->sto_done_request($ikw->{lei_sock});
- $ikw->wq_wait_old(\&ikw_done_wait, $lei);
+ $ikw->wq_wait_old($lei->can('wq_done_wait'), $lei);
}
1;
use File::Temp ();
use Fcntl qw(SEEK_SET O_CREAT O_EXCL O_WRONLY);
-sub do_finish_mirror { # dwaitpid callback
+sub _wq_done_wait { # dwaitpid callback (via wq_eof)
my ($arg, $pid) = @_;
my ($mrr, $lei) = @$arg;
my $f = "$mrr->{dst}/mirror.done";
$lei->dclose;
}
-sub _lei_wq_eof { # EOF callback for main daemon
- my ($lei) = @_;
- my $mrr = delete $lei->{wq1} or return $lei->fail;
- $mrr->wq_wait_old(\&do_finish_mirror, $lei);
-}
-
# for old installations without manifest.js.gz
sub try_scrape {
my ($self) = @_;
PublicInbox::Admin::progress_prepare($opt, $lei->{2});
PublicInbox::Admin::index_inbox($ibx, undef, $opt);
}
- open my $x, '>', "$self->{dst}/mirror.done"; # for do_finish_mirror
+ open my $x, '>', "$self->{dst}/mirror.done"; # for _wq_done_wait
}
sub run_reap {
$self->SUPER::ipc_atfork_child;
}
-sub lne_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 $lne = delete $lei->{lne} or return $lei->fail;
$lei->sto_done_request;
- $lne->wq_wait_old(\&lne_done_wait, $lei);
+ $lne->wq_wait_old($lei->can('wq_done_wait'), $lei);
}
1;
$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);
+ $pmd->wq_wait_old($lei->can('wq_done_wait'), $lei);
}
1;
dst => $dst,
}, 'PublicInbox::LeiMirror';
$mrr->do_mirror;
-$mrr->can('do_finish_mirror')->([$mrr, $lei], $$);
+$mrr->can('_wq_done_wait')->([$mrr, $lei], $$);
exit(($lei->{child_error} // 0) >> 8);