Module: AwesomeExplain::Queue
- Defined in:
- lib/awesome_explain/queue/simple_queue.rb,
lib/awesome_explain/queue/command.rb
Overview
def pop(blocking = true, timeout = nil)
@mutex.synchronize do
if blocking
if timeout.nil?
while @elems.empty?
@cond_var.wait(@mutex)
end
else
timeout_time = Time.now.to_f + timeout
while @elems.empty? && (remaining_time = timeout_time - Time.now.to_f) > 0
@cond_var.wait(@mutex, remaining_time)
end
end
end
raise ThreadError, 'queue empty' if @elems.empty?
sleep 1
@elems.shift
end
end
end
end
Defined Under Namespace
Classes: Command, SimpleQueue