# File lib/ruote-amqp.rb, line 40
    def start!
      return if started?

      mutex = Mutex.new
      cv = ConditionVariable.new

      Thread.main[:ruote_amqp_connection] = Thread.new do
        Thread.abort_on_exception = true
        AMQP.start {
          started!
          cv.signal
        }
      end

      mutex.synchronize { cv.wait(mutex) }

      MQ.prefetch(1)

      yield if block_given?
    end