about summary refs log tree commit homepage
path: root/lib/rainbows/fiber
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-02-06 06:19:09 +0000
committerEric Wong <normalperson@yhbt.net>2011-02-06 06:19:09 +0000
commit53bac4f65d9430495c8043b239cc936012ea7a8d (patch)
tree8e7e520e1e50725e66fad8693181c650f7d77aee /lib/rainbows/fiber
parent44eb53f5a5f1ea2e5aee93d0caf995f42b3179f7 (diff)
downloadrainbows-53bac4f65d9430495c8043b239cc936012ea7a8d.tar.gz
minimize &block usage for yield
No need to allocate a proc every time when we can just
yield much more efficiently.
Diffstat (limited to 'lib/rainbows/fiber')
-rw-r--r--lib/rainbows/fiber/base.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/rainbows/fiber/base.rb b/lib/rainbows/fiber/base.rb
index 126f338..a4f2341 100644
--- a/lib/rainbows/fiber/base.rb
+++ b/lib/rainbows/fiber/base.rb
@@ -17,7 +17,7 @@ module Rainbows::Fiber::Base
   # schedules ones that were blocked on I/O.  At most it'll sleep
   # for one second (returned by the schedule_sleepers method) which
   # will cause it.
-  def schedule(&block)
+  def schedule
     begin
       Rainbows.tick
       t = schedule_sleepers
@@ -33,7 +33,7 @@ module Rainbows::Fiber::Base
     ret[1].concat(RD.compact & ret[0]).each { |c| c.f.resume }
 
     # accept is an expensive syscall, filter out listeners we don't want
-    (ret[0] & LISTENERS).each(&block)
+    (ret[0] & LISTENERS).each { |x| yield x }
   end
 
   # wakes up any sleepers or keepalive-timeout violators that need to be