]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiXSearch.pm
lei: always pass $lei to LeiAuth->op_merge
[public-inbox.git] / lib / PublicInbox / LeiXSearch.pm
index 8ab84b15c00ba1937f0e73c24140c7fb7e471254..acc36897d4e3f2c5864200516f2b19db14292ca4 100644 (file)
@@ -142,11 +142,11 @@ sub wait_startq ($) {
                                delete $lei->{opt}->{verbose};
                                delete $lei->{-progress};
                        } else {
-                               $lei->fail("$$ WTF `$do_augment_done'");
+                               die "BUG: do_augment_done=`$do_augment_done'";
                        }
                        return;
                }
-               return $lei->fail("$$ wait_startq: $!") unless $!{EINTR};
+               die "wait_startq: $!" unless $!{EINTR};
        }
 }
 
@@ -473,7 +473,8 @@ sub do_post_augment {
                $lei->fail("$err");
        }
        if (!$err && delete $lei->{early_mua}) { # non-augment case
-               $lei->start_mua;
+               eval { $lei->start_mua };
+               $lei->fail($@) if $@;
        }
        close(delete $lei->{au_done}); # triggers wait_startq in lei_xsearch
 }
@@ -547,7 +548,7 @@ sub do_query {
                'child_error' => [ $lei ],
                'incr_start_query' => [ $self, $lei ],
        };
-       $lei->{auth}->op_merge($ops, $l2m) if $l2m && $lei->{auth};
+       $lei->{auth}->op_merge($ops, $l2m, $lei) if $l2m && $lei->{auth};
        my $end = $lei->pkt_op_pair;
        $lei->{1}->autoflush(1);
        $lei->start_pager if delete $lei->{need_pager};