lib/PublicInbox/LeiXSearch.pm | 4 ++-- diff --git a/lib/PublicInbox/LeiXSearch.pm b/lib/PublicInbox/LeiXSearch.pm index 58b6cfc01709f933ec273df8b5790eadda9a9f78..386c4eba2a0bef9cb2d941d5386eef0778c55473 100644 --- a/lib/PublicInbox/LeiXSearch.pm +++ b/lib/PublicInbox/LeiXSearch.pm @@ -156,6 +156,7 @@ do { $mset = $srch->mset($mo->{qstr}, $mo); mset_progress($lei, $desc, $mset->size, $mset->get_matches_estimated); + wait_startq($lei); # wait for keyword updates my $ids = $srch->mset_to_artnums($mset, $mo); my $ctx = { ids => $ids }; my $i = 0; @@ -165,7 +166,6 @@ for my $n (@{$ctx->{xids}}) { my $smsg = $over->get_art($n) or next; my $mitem = delete $n2item{$smsg->{num}}; next if $smsg->{bytes} == 0; - wait_startq($lei); # wait for keyword updates if ($mitem) { if ($can_kw) { mitem_kw($smsg, $mitem, $fl); @@ -196,9 +196,9 @@ do { $mset = $self->mset($mo->{qstr}, $mo); mset_progress($lei, 'xsearch', $mset->size, $mset->size, $mset->get_matches_estimated); + wait_startq($lei); # wait for keyword updates for my $mitem ($mset->items) { my $smsg = smsg_for($self, $mitem) or next; - wait_startq($lei); $each_smsg->($smsg, $mitem); } } while (_mset_more($mset, $mo));