diff options
author | Eric Wong <normalperson@yhbt.net> | 2011-02-05 10:11:56 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-02-05 10:11:56 +0000 |
commit | c9ca82c76f1eb0e06b0aa204a243d00f382579c5 (patch) | |
tree | 4ca29dd42f3114c89b31022b993c38247fd0fe98 /lib/rainbows/epoll | |
parent | d8e3edadd128a2ee5712b87a6b660295de2df6be (diff) | |
download | rainbows-c9ca82c76f1eb0e06b0aa204a243d00f382579c5.tar.gz |
There's a lot of code duplication here :<
Diffstat (limited to 'lib/rainbows/epoll')
-rw-r--r-- | lib/rainbows/epoll/client.rb | 2 | ||||
-rw-r--r-- | lib/rainbows/epoll/server.rb | 5 |
2 files changed, 2 insertions, 5 deletions
diff --git a/lib/rainbows/epoll/client.rb b/lib/rainbows/epoll/client.rb index a8eacab..a243d5d 100644 --- a/lib/rainbows/epoll/client.rb +++ b/lib/rainbows/epoll/client.rb @@ -100,7 +100,7 @@ module Rainbows::Epoll::Client end def want_more - Server::ReRun << self + Rainbows::Epoll::ReRun << self end def on_deferred_write_complete diff --git a/lib/rainbows/epoll/server.rb b/lib/rainbows/epoll/server.rb index 820a6da..a8be3e2 100644 --- a/lib/rainbows/epoll/server.rb +++ b/lib/rainbows/epoll/server.rb @@ -6,16 +6,13 @@ module Rainbows::Epoll::Server MAX = Rainbows.server.worker_connections THRESH = MAX - 1 LISTENERS = Rainbows::HttpServer::LISTENERS - ReRun = [] EP = Rainbows::Epoll::EP def self.run LISTENERS.each { |sock| EP.add(sock.extend(self), IN) } begin EP.wait(nil, 1000) { |_, obj| obj.epoll_run } - while obj = ReRun.shift - obj.epoll_run - end + Rainbows::Epoll.rerun Rainbows::Epoll::Client.expire rescue Errno::EINTR rescue => e |