code: def fire(self, *args, **kwargs):
          
          for token, wrapper in list(self._connections.items()):
              try:
                  keep = wrapper(args, kwargs)
              except Exception:
                  self.logger.exception("listener attached to signal raised")
                  keep = False
              if not keep:
                  del self._connections[token]
docs: Emit the signal, calling all connected objects in-line with the given
          arguments and in the order they were registered.
  
          :class:`AdHocSignal` provides full isolation with respect to
          exceptions. If a connected listener raises an exception, the other
          listeners are executed as normal, but the raising listener is removed
          from the signal. The exception is logged to :attr:`logger` and *not*
          re-raised, so that the caller of the signal is also not affected.
  
          Instead of calling :meth:`fire` explicitly, the ad-hoc signal object
          itself can be called, too.