Method: Fairy::MarshaledQueue#pop_all

Defined in:
lib/fairy/share/port-marshaled-queue.rb

#pop_allObject



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/fairy/share/port-marshaled-queue.rb', line 95

def pop_all
  while !@pop_queue
	@queues_mon.synchronize do
	  raw = nil
	  @queues_cv.wait_until{raw = @queues.shift}
	  if raw == :END_OF_STREAM
 @pop_queue = [raw]
	  else
 @pop_queue = Marshal.load(raw)
	  end
	end
  end
  buf, @pop_queue = @pop_queue, nil
  buf
end