# File lib/god/driver.rb, line 110
    def push(event)
      Thread.critical = true
      @events << event
      @events.sort!
      begin
        t = @waiting.shift if @events.first == event
        t.wakeup if t
      rescue ThreadError
        retry
      ensure
        Thread.critical = false
      end
      begin
        t.run if t
      rescue ThreadError
      end
    end