lib/PublicInbox/GitHTTPBackend.pm | 7 ++++++- diff --git a/lib/PublicInbox/GitHTTPBackend.pm b/lib/PublicInbox/GitHTTPBackend.pm index 18194441e888da321250b5ab3609cce544e515ac..58e75cde50e20cd35d8ecd7ae1beb7b1aacf1009 100644 --- a/lib/PublicInbox/GitHTTPBackend.pm +++ b/lib/PublicInbox/GitHTTPBackend.pm @@ -210,7 +210,12 @@ my $cb = sub { my $r = $rd_hdr->() or return; $rd_hdr = undef; if (scalar(@$r) == 3) { # error: - $async->close if $async; + if ($async) { + $async->close; # calls rpipe->close + } else { + $rpipe->close; + $end->(); + } return $res->($r); } if ($async) {