X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FLeiRm.pm;h=00b124852e7443fb76eda91aed14d26c7c64d3ca;hb=HEAD;hp=185b6a1554f34ba4fd581818a768658777ae2499;hpb=ff96ecca608fbb444cce464d74047354585d852d;p=public-inbox.git diff --git a/lib/PublicInbox/LeiRm.pm b/lib/PublicInbox/LeiRm.pm index 185b6a15..00b12485 100644 --- a/lib/PublicInbox/LeiRm.pm +++ b/lib/PublicInbox/LeiRm.pm @@ -10,41 +10,21 @@ use parent qw(PublicInbox::IPC PublicInbox::LeiInput); sub input_eml_cb { # used by PublicInbox::LeiInput::input_fh my ($self, $eml) = @_; - $self->{lei}->{sto}->ipc_do('remove_eml', $eml); -} - -sub input_mbox_cb { # MboxReader callback - my ($eml, $self) = @_; - input_eml_cb($self, $eml); -} - -sub input_net_cb { # callback for ->imap_each, ->nntp_each - my (undef, undef, $kw, $eml, $self) = @_; # @_[0,1]: url + uid ignored - input_eml_cb($self, $eml); -} - -sub input_maildir_cb { - my (undef, $kw, $eml, $self) = @_; # $_[0] $filename ignored - input_eml_cb($self, $eml); + $self->{lei}->{sto}->wq_do('remove_eml', $eml); } sub lei_rm { my ($lei, @inputs) = @_; $lei->_lei_store(1)->write_prepare($lei); - $lei->{opt}->{stdin} = 1 if !@inputs; - $lei->{opt}->{'in-format'} //= 'eml'; - my $self = bless { -wq_nr_workers => 1 }, __PACKAGE__; + $lei->{opt}->{'in-format'} //= 'eml' if $lei->{opt}->{stdin}; + my $self = bless {}, __PACKAGE__; $self->prepare_inputs($lei, \@inputs) or return; - my ($op_c, $ops) = $lei->workers_start($self, 1); - $lei->{wq1} = $self; $lei->{-err_type} = 'non-fatal'; - net_merge_all_done($self) unless $lei->{auth}; - $op_c->op_wait_event($ops); + $lei->wq1_start($self); } no warnings 'once'; *ipc_atfork_child = \&PublicInbox::LeiInput::input_only_atfork_child; *net_merge_all_done = \&PublicInbox::LeiInput::input_only_net_merge_all_done; -*net_merge_all = \&PublicInbox::LeiAuth::net_merge_all; 1;