about summary refs log tree commit homepage
path: root/lib/rainbows/thread_pool.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rainbows/thread_pool.rb')
-rw-r--r--lib/rainbows/thread_pool.rb7
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/rainbows/thread_pool.rb b/lib/rainbows/thread_pool.rb
index 949db6f..f398828 100644
--- a/lib/rainbows/thread_pool.rb
+++ b/lib/rainbows/thread_pool.rb
@@ -49,11 +49,8 @@ module Rainbows
             # problem.  On the other hand, a thundering herd may not
             # even incur as much overhead as an extra Mutex#synchronize
             ret = IO.select(LISTENERS, nil, nil, 1) and
-                  ret.first.each do |sock|
-                    begin
-                      process_client(sock.accept_nonblock)
-                    rescue Errno::EAGAIN, Errno::ECONNABORTED
-                    end
+                  ret.first.each do |s|
+                    s = Rainbows.accept(s) and process_client(s)
                   end
           rescue Errno::EINTR
           rescue Errno::EBADF, TypeError