From 03806d2b44c2d3cee75258ee9e83d671e751baeb Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 22 Oct 2010 02:38:40 +0000 Subject: fiber_pool: no need for old Fiber::IO Rainbows::Client takes care of the I/O wait/read-ability for us already. --- lib/rainbows/fiber/rev/methods.rb | 11 +++++++++-- lib/rainbows/fiber_pool.rb | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/rainbows/fiber/rev/methods.rb b/lib/rainbows/fiber/rev/methods.rb index 5f4367e..64108a9 100644 --- a/lib/rainbows/fiber/rev/methods.rb +++ b/lib/rainbows/fiber/rev/methods.rb @@ -44,5 +44,12 @@ module Rainbows::Fiber::Rev::Methods end end -Rainbows::Fiber::IO.__send__(:include, Rainbows::Fiber::Rev::Methods) -Rainbows::Client.__send__(:include, Rainbows::Fiber::Rev::Methods) +[ + Rainbows::Fiber::IO, + Rainbows::Client, + # the next two trigger autoload, ugh, oh well... + Rainbows::Fiber::IO::Socket, + Rainbows::Fiber::IO::Pipe +].each do |klass| + klass.__send__(:include, Rainbows::Fiber::Rev::Methods) +end diff --git a/lib/rainbows/fiber_pool.rb b/lib/rainbows/fiber_pool.rb index c0d2ba7..18f43de 100644 --- a/lib/rainbows/fiber_pool.rb +++ b/lib/rainbows/fiber_pool.rb @@ -30,7 +30,7 @@ module Rainbows schedule do |l| fib = pool.shift or break # let another worker process take it if io = l.kgio_tryaccept - fib.resume(Fiber::IO.new(io, fib)) + fib.resume(io) else pool << fib end -- cgit v1.2.3-24-ge0c7