From: Eric Wong Date: Fri, 25 Sep 2015 02:27:53 +0000 (+0000) Subject: nntp: do not repeat result on blocked write X-Git-Tag: v1.0.0~830 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=561eb87f68891106a43eedf7bf054b74e52c2db8;p=public-inbox.git nntp: do not repeat result on blocked write Oops, we must increment our range even if we yield or get blocked on output buffering. --- diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index dd033e89..7e2c2abd 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -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}) {