Method: Fairy::FileBufferdQueue#pop
- Defined in:
- lib/fairy/share/port.rb
#pop ⇒ Object
1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 |
# File 'lib/fairy/share/port.rb', line 1171 def pop @queue_mon.synchronize do while @pop_queue.empty? if @pop_queue.equal?(@push_queue) @queue_cv.wait elsif @buffers_queue.nil? @pop_queue = @push_queue elsif @buffers_queue.empty? @pop_queue = @push_queue @push_queue = [] @buffers_queue = nil else @pop_queue = restore_2ndmemory end end @pop_queue.shift end end |