diff options
Diffstat (limited to 'lib/rainbows/fiber_spawn.rb')
-rw-r--r-- | lib/rainbows/fiber_spawn.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/rainbows/fiber_spawn.rb b/lib/rainbows/fiber_spawn.rb index df72e70..ecf83d8 100644 --- a/lib/rainbows/fiber_spawn.rb +++ b/lib/rainbows/fiber_spawn.rb @@ -12,6 +12,7 @@ module Rainbows module FiberSpawn include Fiber::Base + include Rainbows::Acceptor def worker_loop(worker) # :nodoc: init_worker_process(worker) @@ -22,7 +23,7 @@ module Rainbows begin schedule do |l| break if G.cur >= limit - io = Rainbows.accept(l) or next + io = accept(l) or next ::Fiber.new { process_client(fio.new(io, ::Fiber.current)) }.resume end rescue => e |