about summary refs log tree commit homepage
path: root/lib/PublicInbox/NNTP.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-07-12 00:03:41 +0000
committerEric Wong <e@80x24.org>2019-07-12 00:04:11 +0000
commitbb484f2ca29b10d2ae001bda77406c8b433c9e80 (patch)
tree13aaa2e99bd594cb55d2557403ec279ea8b77b68 /lib/PublicInbox/NNTP.pm
parent4685b1d88ffe1f18334bfdd12977ece1fe9d11ce (diff)
downloadpublic-inbox-bb484f2ca29b10d2ae001bda77406c8b433c9e80.tar.gz
We need to ensure further timers can be registered if there's
currently no idle clients.
Diffstat (limited to 'lib/PublicInbox/NNTP.pm')
-rw-r--r--lib/PublicInbox/NNTP.pm6
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm
index f4208f87..0d2bc4f3 100644
--- a/lib/PublicInbox/NNTP.pm
+++ b/lib/PublicInbox/NNTP.pm
@@ -57,22 +57,20 @@ sub expire_old () {
         my $now = now();
         my $exp = $EXPTIME;
         my $old = $now - $exp;
-        my $nr = 0;
         my %new;
         while (my ($fd, $v) = each %$EXPMAP) {
                 my ($idle_time, $nntp) = @$v;
                 if ($idle_time < $old) {
                         if (!$nntp->shutdn) {
-                                ++$nr;
                                 $new{$fd} = $v;
                         }
                 } else {
-                        ++$nr;
                         $new{$fd} = $v;
                 }
         }
         $EXPMAP = \%new;
-        $expt = PublicInbox::EvCleanup::later(*expire_old) if $nr;
+        $expt = scalar(keys %new) ? PublicInbox::EvCleanup::later(*expire_old)
+                                  : undef;
 }
 
 sub greet ($) { $_[0]->write($_[0]->{nntpd}->{greet}) };