def stop(self): if self._flags & 2: libev.ev_ref(self.loop._ptr) self._flags &= ~2 self._watcher_stop(self.loop._ptr, pointer(self._watcher_struct)) self._callback = None self.args = None
def set_ref(self, value): if value: if not self._flags & 4: return # ref is already True if self._flags & 2: # ev_unref was called, undo libev.ev_ref(self.loop._ptr) self._flags &= ~6 # do not want unref, no outstanding unref else: if self._flags & 4: return # ref is already False self._flags |= 4 if not self._flags & 2 and libev.ev_is_active(pointer(self._watcher_struct)): libev.ev_unref(self.loop._ptr) self._flags |= 2
def ref(self): libev.ev_ref(self._ptr)
def _stop_signal_checker(self): if libev.ev_is_active(pointer(self._signal_checker)): libev.ev_ref(self._ptr) libev.ev_prepare_stop(self._ptr, pointer(self._signal_checker))