X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FLeiRm.pm;h=00b124852e7443fb76eda91aed14d26c7c64d3ca;hb=HEAD;hp=778fa1de92763a14e49ff2e917048ecc86bb2a37;hpb=9cf83074ce8b46254ef6639d87e4e64372cc552b;p=public-inbox.git diff --git a/lib/PublicInbox/LeiRm.pm b/lib/PublicInbox/LeiRm.pm index 778fa1de..00b12485 100644 --- a/lib/PublicInbox/LeiRm.pm +++ b/lib/PublicInbox/LeiRm.pm @@ -10,35 +10,17 @@ 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}->{'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}; - $lei->wait_wq_events($op_c, $ops); + $lei->wq1_start($self); } no warnings 'once';