def _emit(self, *args, **kwargs): self._log.debug("Emitting event") with self._syncRoot: for funcId, (funcRef, oneshot) in self._registrar.items(): func = funcRef() if func is None or oneshot: del self._registrar[funcId] if func is None: continue try: self._log.debug("Calling registered method `%s`", logutils.funcName(func)) if self._sync: func(*args, **kwargs) else: self._start_thread(func, args, kwargs) except: self._log.warn("Could not run registered method because " "of an exception", exc_info=True) self._log.debug("Event emitted")
def _emit(self, *args, **kwargs): self._log.debug("Emitting event") with self._syncRoot: for funcId in list(self._registrar): funcRef, oneshot = self._registrar[funcId] func = funcRef() if func is None or oneshot: del self._registrar[funcId] if func is None: continue try: self._log.debug("Calling registered method `%s`", logutils.funcName(func)) if self._sync: func(*args, **kwargs) else: self._start_thread(func, args, kwargs) except: self._log.exception( "Could not run registered method because of an " "exception") self._log.debug("Event emitted")