diff options
Diffstat (limited to 'lib/PublicInbox')
-rw-r--r-- | lib/PublicInbox/LeiOverview.pm | 14 | ||||
-rw-r--r-- | lib/PublicInbox/LeiToMail.pm | 3 | ||||
-rw-r--r-- | lib/PublicInbox/LeiXSearch.pm | 4 |
3 files changed, 8 insertions, 13 deletions
diff --git a/lib/PublicInbox/LeiOverview.pm b/lib/PublicInbox/LeiOverview.pm index cdd9ee04..bfb8b143 100644 --- a/lib/PublicInbox/LeiOverview.pm +++ b/lib/PublicInbox/LeiOverview.pm @@ -195,7 +195,7 @@ sub _json_pretty { } sub ovv_each_smsg_cb { # runs in wq worker usually - my ($self, $lei, $ibxish) = @_; + my ($self, $lei) = @_; my ($json, $dedupe); if (my $pkg = $self->{json}) { $json = $pkg->new; @@ -208,17 +208,11 @@ sub ovv_each_smsg_cb { # runs in wq worker usually $dedupe->prepare_dedupe; } $lei->{ovv_buf} = \(my $buf = '') if !$l2m; - if ($l2m && !$ibxish) { # remote https?:// mboxrd - my $wcb = $l2m->write_cb($lei); - sub { - my ($smsg, undef, $eml) = @_; # no mitem in $_[1] - $wcb->(undef, $smsg, $eml); - }; - } elsif ($l2m && $l2m->{-wq_s1}) { + if ($l2m) { sub { - my ($smsg, $mitem) = @_; + my ($smsg, $mitem, $eml) = @_; $smsg->{pct} = get_pct($mitem) if $mitem; - $l2m->wq_io_do('write_mail', [], $smsg); + $l2m->wq_io_do('write_mail', [], $smsg, $eml); } } elsif ($self->{fmt} =~ /\A(concat)?json\z/ && $lei->{opt}->{pretty}) { my $EOR = ($1//'') eq 'concat' ? "\n}" : "\n},"; diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm index 9411313b..70164e40 100644 --- a/lib/PublicInbox/LeiToMail.pm +++ b/lib/PublicInbox/LeiToMail.pm @@ -583,7 +583,8 @@ sub poke_dst { } sub write_mail { # via ->wq_io_do - my ($self, $smsg) = @_; + my ($self, $smsg, $eml) = @_; + return $self->{wcb}->(undef, $smsg, $eml) if $eml; $self->{lei}->{ale}->git->cat_async($smsg->{blob}, \&git_to_mail, [$self->{wcb}, $smsg]); } diff --git a/lib/PublicInbox/LeiXSearch.pm b/lib/PublicInbox/LeiXSearch.pm index 2b23e8e9..692d5e54 100644 --- a/lib/PublicInbox/LeiXSearch.pm +++ b/lib/PublicInbox/LeiXSearch.pm @@ -153,7 +153,7 @@ sub query_thread_mset { # for --threads return warn("$desc not indexed by Xapian\n") unless ($srch && $over); my $mo = { %{$lei->{mset_opt}} }; my $mset; - my $each_smsg = $lei->{ovv}->ovv_each_smsg_cb($lei, $ibxish); + my $each_smsg = $lei->{ovv}->ovv_each_smsg_cb($lei); my $can_kw = !!$ibxish->can('msg_keywords'); my $fl = $lei->{opt}->{threads} > 1 ? 1 : undef; do { @@ -196,7 +196,7 @@ sub query_mset { # non-parallel for non-"--threads" users for my $loc (locals($self)) { attach_external($self, $loc); } - my $each_smsg = $lei->{ovv}->ovv_each_smsg_cb($lei, $self); + my $each_smsg = $lei->{ovv}->ovv_each_smsg_cb($lei); do { $mset = $self->mset($mo->{qstr}, $mo); mset_progress($lei, 'xsearch', $mset->size, |