lib/agent/queue/buffered.rb in agent-0.11.0 vs lib/agent/queue/buffered.rb in agent-0.12.0
- old
+ new
@@ -29,12 +29,14 @@
operation = operations.first
loop do
if operation.is_a?(Push)
if push?
- operation.receive do |obj|
- @size += 1
- queue.push(obj)
+ unless operation.closed?
+ operation.receive do |obj|
+ @size += 1
+ queue.push(obj)
+ end
end
operations.delete(operation)
pushes.delete(operation)
elsif pop? && operation = pops[0]
next