diff options
author | Eric Wong <normalperson@yhbt.net> | 2009-12-22 12:45:03 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2009-12-22 12:47:19 -0800 |
commit | cdac4e6b8847754421c6f65baab2ac9a105d746a (patch) | |
tree | 9a14e3981b1b4064b8b5bebbcc5495940d71be33 | |
parent | dc5a3bc59b104086ae80116e597f51f99d8f1e24 (diff) | |
download | rainbows-cdac4e6b8847754421c6f65baab2ac9a105d746a.tar.gz |
-rw-r--r-- | lib/rainbows.rb | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/lib/rainbows.rb b/lib/rainbows.rb index 64c4d9e..0b6402a 100644 --- a/lib/rainbows.rb +++ b/lib/rainbows.rb @@ -39,6 +39,21 @@ module Rainbows def run(app, options = {}) HttpServer.new(app, options).start.join end + + # returns nil if accept fails + if defined?(Fcntl::FD_CLOEXEC) + def accept(sock) + rv = sock.accept_nonblock + rv.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC) + rv + rescue Errno::EAGAIN, Errno::ECONNABORTED + end + else + def accept(sock) + sock.accept_nonblock + rescue Errno::EAGAIN, Errno::ECONNABORTED + end + end end # configures \Rainbows! with a given concurrency model to +use+ and @@ -94,21 +109,6 @@ module Rainbows end autoload :Fiber, 'rainbows/fiber' # core class - # returns nil if accept fails - if defined?(Fcntl::FD_CLOEXEC) - def self.accept(sock) - rv = sock.accept_nonblock - rv.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC) - rv - rescue Errno::EAGAIN, Errno::ECONNABORTED - end - else - def self.accept(sock) - sock.accept_nonblock - rescue Errno::EAGAIN, Errno::ECONNABORTED - end - end - end # inject the Rainbows! method into Unicorn::Configurator |