]> Sergey Matveev's repositories - public-inbox.git/commitdiff
nntp: do not repeat result on blocked write
authorEric Wong <e@80x24.org>
Fri, 25 Sep 2015 02:27:53 +0000 (02:27 +0000)
committerEric Wong <e@80x24.org>
Fri, 25 Sep 2015 02:29:06 +0000 (02:29 +0000)
Oops, we must increment our range even if we yield or
get blocked on output buffering.

lib/PublicInbox/NNTP.pm

index dd033e89e75bec54ee2a1e40c8e6b1ca4784a0ea..7e2c2abdb624da5ac72649c9b52b2f9d84984dca 100644 (file)
@@ -508,8 +508,8 @@ sub long_response ($$$$) {
                my $err;
                do {
                        eval { $cb->(\$beg) };
-               } until (($err = $@) || $self->{closed} || $yield ||
-                        $self->{write_buf_size} || ++$beg > $end);
+               } until (($err = $@) || $self->{closed} ||
+                        ++$beg > $end || $yield || $self->{write_buf_size});
                ualarm(0);
 
                if ($err || $self->{closed}) {