diff options
-rw-r--r-- | lib/PublicInbox/HTTP.pm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/PublicInbox/HTTP.pm b/lib/PublicInbox/HTTP.pm index 6df1c3fc..e0ed2d15 100644 --- a/lib/PublicInbox/HTTP.pm +++ b/lib/PublicInbox/HTTP.pm @@ -271,9 +271,12 @@ sub getline_response { while ($forward && defined(my $buf = $forward->getline)) { $write->($buf); last if $self->{closed}; - if ((--$n) <= 0 || $self->{write_buf_size}) { + if ($self->{write_buf_size}) { $self->write($self->{pull}); return; + } elsif ((--$n) <= 0) { + PublicInbox::EvCleanup::asap($self->{pull}); + return; } } $self->{forward} = $self->{pull} = undef; |