about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-12-22 12:45:03 -0800
committerEric Wong <normalperson@yhbt.net>2009-12-22 12:47:19 -0800
commitcdac4e6b8847754421c6f65baab2ac9a105d746a (patch)
tree9a14e3981b1b4064b8b5bebbcc5495940d71be33
parentdc5a3bc59b104086ae80116e597f51f99d8f1e24 (diff)
downloadrainbows-cdac4e6b8847754421c6f65baab2ac9a105d746a.tar.gz
-rw-r--r--lib/rainbows.rb30
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