diff options
Diffstat (limited to 'lib/yahns/fdmap.rb')
-rw-r--r-- | lib/yahns/fdmap.rb | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/yahns/fdmap.rb b/lib/yahns/fdmap.rb index fab5d36..0aaf360 100644 --- a/lib/yahns/fdmap.rb +++ b/lib/yahns/fdmap.rb @@ -89,10 +89,10 @@ class Yahns::Fdmap # :nodoc: # We should not be calling this too frequently, it is expensive # This is called while @fdmap_mtx is held def __expire(timeout) - return if @count == 0 + return 0 if @count == 0 nr = 0 now = Yahns.now - (now - @last_expire) >= 1.0 or return # don't expire too frequently + (now - @last_expire) >= 1.0 or return @count # don't expire too frequently # @fdmap_ary may be huge, so always expire a bunch at once to # avoid getting to this method too frequently @@ -104,8 +104,11 @@ class Yahns::Fdmap # :nodoc: end @last_expire = Yahns.now - msg = timeout ? "timeout=#{timeout}" : "client_timeout" - @logger.info("dropping #{nr} of #@count clients for #{msg}") + if nr != 0 + msg = timeout ? "timeout=#{timeout}" : "client_timeout" + @logger.info("dropping #{nr} of #@count clients for #{msg}") + end + @count end # used for graceful shutdown |