diff options
author | Eric Wong <e@80x24.org> | 2019-07-12 00:03:41 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-07-12 00:04:11 +0000 |
commit | bb484f2ca29b10d2ae001bda77406c8b433c9e80 (patch) | |
tree | 13aaa2e99bd594cb55d2557403ec279ea8b77b68 /lib/PublicInbox/NNTP.pm | |
parent | 4685b1d88ffe1f18334bfdd12977ece1fe9d11ce (diff) | |
download | public-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.pm | 6 |
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}) }; |