def _unregister_watches(self, libvirt_domain): name = libvirt_domain.name() if name in self._qdb_events: libvirt.virEventRemoveHandle(self._qdb_events[name]) del(self._qdb_events[name]) if name in self._qdb: self._qdb[name].close() del(self._qdb[name])
def _qdb_handler(self, watch, fd, events, domain_name): try: path = self._qdb[domain_name].read_watch() except DisconnectedError: libvirt.virEventRemoveHandle(watch) del(self._qdb_events[domain_name]) self._qdb[domain_name].close() del(self._qdb[domain_name]) return if path.startswith('/qubes-block-devices'): if self.block_callback is not None: self.block_callback(domain_name)
def remove_handle(self, watch): try: return libvirt.virEventRemoveHandle(watch) except libvirt.libvirtError, e: message = e.get_error_message() code = e.get_error_code() raise exception.LibvirtAPI(message, code)