about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-10-08 23:26:05 -0700
committerEric Wong <normalperson@yhbt.net>2009-10-08 23:27:26 -0700
commit4dd4746437380f7971398dd4c6bb12cd5df112f3 (patch)
treed4bf983b09f295acf5db95d31425bd4fdee35c08 /lib
parente65542f87b376b5e5b3d5f34fd43e9a8b2dfaff2 (diff)
downloadrainbows-4dd4746437380f7971398dd4c6bb12cd5df112f3.tar.gz
EAGAIN is common on accept_nonblock with multiple processes
sharing the same listen descriptors.

oops :x
Diffstat (limited to 'lib')
-rw-r--r--lib/rainbows/thread_spawn.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/rainbows/thread_spawn.rb b/lib/rainbows/thread_spawn.rb
index 613a3f0..35a575e 100644
--- a/lib/rainbows/thread_spawn.rb
+++ b/lib/rainbows/thread_spawn.rb
@@ -42,7 +42,7 @@ module Rainbows
           end
           c = begin
             l.accept_nonblock
-          rescue Errno::EINTR, Errno::ECONNABORTED
+          rescue Errno::EAGAIN, Errno::EINTR, Errno::ECONNABORTED
             next
           end
           threads.add(Thread.new(c) { |c| process_client(c) })