From 8d84895afc5833d051722c0f79ab4ef2dde8483f Mon Sep 17 00:00:00 2001 From: Aleksandr Borzunov Date: Wed, 26 Apr 2023 09:55:00 +0000 Subject: [PATCH] Fix hivemind.p2p destructors --- hivemind/p2p/p2p_daemon.py | 5 +++-- hivemind/p2p/p2p_daemon_bindings/p2pclient.py | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/hivemind/p2p/p2p_daemon.py b/hivemind/p2p/p2p_daemon.py index 1fb7b0c2d..498ec42ed 100644 --- a/hivemind/p2p/p2p_daemon.py +++ b/hivemind/p2p/p2p_daemon.py @@ -654,8 +654,9 @@ def _terminate(self) -> None: self._alive = False if self._child is not None and self._child.returncode is None: - self._child.terminate() - logger.debug(f"Terminated p2pd with id = {self.peer_id}") + with suppress(ProcessLookupError): + self._child.terminate() + logger.debug(f"Terminated p2pd with id = {self.peer_id}") with suppress(FileNotFoundError): os.remove(self._daemon_listen_maddr["unix"]) diff --git a/hivemind/p2p/p2p_daemon_bindings/p2pclient.py b/hivemind/p2p/p2p_daemon_bindings/p2pclient.py index cb5f131f2..7fee00477 100644 --- a/hivemind/p2p/p2p_daemon_bindings/p2pclient.py +++ b/hivemind/p2p/p2p_daemon_bindings/p2pclient.py @@ -47,7 +47,8 @@ async def create( return client def close(self) -> None: - self.control.close() + if self.control is not None: + self.control.close() def __del__(self): self.close()