From d3bccb2b4ea1719e323d6a3aca8de05d7f069639 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Thu, 3 Apr 2025 17:48:26 +0200 Subject: [PATCH] Detach on BackboneInterface --- RNS/Interfaces/BackboneInterface.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/RNS/Interfaces/BackboneInterface.py b/RNS/Interfaces/BackboneInterface.py index ab106c4..bf8d553 100644 --- a/RNS/Interfaces/BackboneInterface.py +++ b/RNS/Interfaces/BackboneInterface.py @@ -291,18 +291,17 @@ class BackboneInterface(Interface): def detach(self): self.detached = True self.online = False - if self.server != None: - if hasattr(self.server, "shutdown"): - if callable(self.server.shutdown): + for listener_socket in self.listeners: + if hasattr(listener_socket, "shutdown"): + if callable(listener_socket.shutdown): try: - RNS.log("Detaching "+str(self), RNS.LOG_DEBUG) - self.server.shutdown() - self.server.server_close() - self.server = None - + # RNS.log("Detaching "+str(self), RNS.LOG_DEBUG) + listener_socket.shutdown(socket.SHUT_RDWR) + except Exception as e: RNS.log("Error while shutting down server for "+str(self)+": "+str(e)) + while len(self.listeners): self.listeners.pop() def __str__(self): if ":" in self.bind_ip: