From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-2.9 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: meta@public-inbox.org Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id E267A200FB for ; Fri, 25 Sep 2015 02:27:59 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 4/8] nntp: do not repeat result on blocked write Date: Fri, 25 Sep 2015 02:27:53 +0000 Message-Id: <20150925022757.6915-5-e@80x24.org> In-Reply-To: <20150925022757.6915-1-e@80x24.org> References: <20150925022757.6915-1-e@80x24.org> List-Id: Oops, we must increment our range even if we yield or get blocked on output buffering. --- lib/PublicInbox/NNTP.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index dd033e8..7e2c2ab 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}) { -- EW