about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-06-05 02:01:10 +0000
committerEric Wong <e@yhbt.net>2020-06-05 06:28:10 +0000
commit5df08b6cd4931e87c1cf676014256d00e3cdfc2c (patch)
tree5abe6e4fb2c4975dab8bf8d051e05308615014a9
parentdf20a9c0c72433f027bc99c019b7e270ed3f105c (diff)
downloadpublic-inbox-5df08b6cd4931e87c1cf676014256d00e3cdfc2c.tar.gz
We forcibly stop git-log here, so erroring out on git-log close
failures is wrong since it sees SIGPIPE.  Noticed while
reindexing a large v1 inbox for IMAP changes.

Fixes: b32b47fb12a3043d ("index: "git log" failures are fatal")
-rw-r--r--lib/PublicInbox/SearchIdx.pm5
1 files changed, 1 insertions, 4 deletions
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index f10a9104..f4fa50ff 100644
--- a/lib/PublicInbox/SearchIdx.pm
+++ b/lib/PublicInbox/SearchIdx.pm
@@ -752,10 +752,7 @@ sub _index_sync {
         my $xdb = $self->begin_txn_lazy;
         my $mm = _msgmap_init($self);
         do {
-                if ($xlog) {
-                        close($xlog) or die "git log failed: \$?=$?";
-                        $xlog = undef;
-                }
+                $xlog = undef; # stop previous git-log via SIGPIPE
                 $last_commit = _last_x_commit($self, $mm);
                 $lx = reindex_from($opts->{reindex}, $last_commit);