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 BEF1D633849 for ; Thu, 24 Sep 2015 03:37:23 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 4/7] nntpd: move busy check to NNTP package Date: Thu, 24 Sep 2015 03:37:18 +0000 Message-Id: <20150924033721.26231-5-e@80x24.org> In-Reply-To: <20150924033721.26231-1-e@80x24.org> References: <20150924033721.26231-1-e@80x24.org> List-Id: This is better encapsulated and hopefully more readable. While we're at it, check for being inside a long response, too. --- lib/PublicInbox/NNTP.pm | 5 +++++ public-inbox-nntpd | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 0d0de97..52d6a64 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -919,4 +919,9 @@ sub watch_read { $rv; } +sub busy () { + my ($self) = @_; + ($self->{rbuf} ne '' || $self->{long_res} || $self->{write_buf_size}); +} + 1; diff --git a/public-inbox-nntpd b/public-inbox-nntpd index 4c15608..70bab46 100644 --- a/public-inbox-nntpd +++ b/public-inbox-nntpd @@ -205,7 +205,7 @@ sub worker_quit { foreach my $s (values %$dmap) { next unless ref($s) eq 'PublicInbox::NNTP'; - if ($s->{write_buf_size} || $s->{rbuf}) { + if ($s->busy) { ++$n; } else { $s->close; -- EW