# File lib/god/driver.rb, line 84 def pop begin while (Thread.critical = true; @events.empty? or !@events.first.due?) @waiting.push Thread.current if @events.empty? raise ThreadError, "queue empty" if @shutdown Thread.stop else Thread.critical = false sleep @events.first.at - Time.now Thread.critical = true end end @events.shift ensure Thread.critical = false end end