def handle_read (self): result = Trigger.handle_read(self) self._callback_lock.acquire() try: for callback, args in self._callbacks: try: callback(*args) except: msglog.exception() self._callbacks = [] finally: self._callback_lock.release() return result