]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/GitAsyncCat.pm
git_async_cat: fix outdated comment
[public-inbox.git] / lib / PublicInbox / GitAsyncCat.pm
index 0b777204a7ccfe021fe102c3218c2af4de5565ce..5f785df72ae4fb387a3ddb8aa28464adc4d65bbb 100644 (file)
@@ -1,7 +1,7 @@
 # Copyright (C) 2020 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 #
-# internal class used by PublicInbox::Git + Danga::Socket
+# internal class used by PublicInbox::Git + PublicInbox::DS
 # This parses the output pipe of "git cat-file --batch"
 #
 # Note: this does NOT set the non-blocking flag, we expect `git cat-file'
@@ -24,7 +24,8 @@ sub _add {
 
 sub event_step {
        my ($self) = @_;
-       my $git = $self->{git} or return; # ->close-ed
+       my $git = $self->{git};
+       return $self->close if ($git->{in} // 0) != ($self->{sock} // 1);
        my $inflight = $git->{inflight};
        if ($inflight && @$inflight) {
                $git->cat_async_step($inflight);
@@ -32,14 +33,6 @@ sub event_step {
        }
 }
 
-sub close {
-       my ($self) = @_;
-       if (my $git = delete $self->{git}) {
-               delete $git->{async_cat};
-       }
-       $self->SUPER::close; # PublicInbox::DS::close
-}
-
 sub git_async_cat ($$$$) {
        my ($git, $oid, $cb, $arg) = @_;
        $git->cat_async($oid, $cb, $arg);