about summary refs log tree commit homepage
path: root/lib/rainbows/queue_pool.rb
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/queue_pool.rb
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/queue_pool.rb')
-rw-r--r--lib/rainbows/queue_pool.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/rainbows/queue_pool.rb b/lib/rainbows/queue_pool.rb
index 99cb9db..ce888d8 100644
--- a/lib/rainbows/queue_pool.rb
+++ b/lib/rainbows/queue_pool.rb
@@ -6,12 +6,12 @@ require 'thread'
 # This is NOT used for the ThreadPool class, since that class does not
 # need a userspace Queue.
 class Rainbows::QueuePool < Struct.new(:queue, :threads)
-  def initialize(size = 20, &block)
+  def initialize(size = 20)
     q = Queue.new
     self.threads = (1..size).map do
       Thread.new do
         while job = q.shift
-          block.call(job)
+          yield job
         end
       end
     end