def listen()

in qpid/queue.py [0:0]


  def listen(self, listener, exc_listener = None):
    if listener is None and exc_listener is not None:
      raise ValueError("cannot set exception listener without setting listener")

    if listener is None:
      if self.thread is not None:
        self.put(Queue.STOP)
        # loop and timed join permit keyboard interrupts to work
        while self.thread.is_alive():
          self.thread.join(3)
        self.thread = None

    self.listener = listener
    self.exc_listener = exc_listener

    if listener is not None and self.thread is None:
      self.thread = Thread(target = self.run)
      self.thread.daemon = True
      self.thread.start()