From ea6d0eab436c78113f8a61e7fcc34db4117d14c0 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 20 May 2011 09:19:51 +0000 Subject: coolio* + *epoll*: drop keepalive clients on SIGQUIT In concurrency models long keepalive times are cheap (and thus more likely to be used), this allows Rainbows! to gracefully shut down more quickly. --- lib/rainbows/epoll/client.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/rainbows/epoll') diff --git a/lib/rainbows/epoll/client.rb b/lib/rainbows/epoll/client.rb index e23d4e7..d3a06eb 100644 --- a/lib/rainbows/epoll/client.rb +++ b/lib/rainbows/epoll/client.rb @@ -10,6 +10,7 @@ module Rainbows::Epoll::Client OUT = SleepyPenguin::Epoll::OUT | SleepyPenguin::Epoll::ET KATO = {} KATO.compare_by_identity if KATO.respond_to?(:compare_by_identity) + Rainbows.at_quit { KATO.each_key { |k| k.timeout! }.clear } Rainbows.config!(self, :keepalive_timeout) EP = Rainbows::EP ReRun = [] -- cgit v1.2.3-24-ge0c7