about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/mogilefs/pool.rb13
1 files changed, 5 insertions, 8 deletions
diff --git a/lib/mogilefs/pool.rb b/lib/mogilefs/pool.rb
index 1c220fd..21503ba 100644
--- a/lib/mogilefs/pool.rb
+++ b/lib/mogilefs/pool.rb
@@ -17,19 +17,16 @@ class MogileFS::Pool
     @args = args
     @klass = klass
     @queue = Queue.new
-    @objects = []
+    @objects = {}
     @purge_threshold = 5
     @purge_keep = 2
   end
 
   def get
-    begin
-      object = @queue.pop true
-    rescue ThreadError
-      object = @klass.new(*@args)
-      @objects << object
-    end
-    object
+    @queue.pop true
+  rescue ThreadError
+    object = @klass.new(*@args)
+    @objects[object] = object
   end
 
   def put(o)