Detach on BackboneInterface

This commit is contained in:
Mark Qvist 2025-04-03 17:48:26 +02:00
parent e28f44cfe5
commit d3bccb2b4e

View file

@ -291,18 +291,17 @@ class BackboneInterface(Interface):
def detach(self): def detach(self):
self.detached = True self.detached = True
self.online = False self.online = False
if self.server != None: for listener_socket in self.listeners:
if hasattr(self.server, "shutdown"): if hasattr(listener_socket, "shutdown"):
if callable(self.server.shutdown): if callable(listener_socket.shutdown):
try: try:
RNS.log("Detaching "+str(self), RNS.LOG_DEBUG) # RNS.log("Detaching "+str(self), RNS.LOG_DEBUG)
self.server.shutdown() listener_socket.shutdown(socket.SHUT_RDWR)
self.server.server_close()
self.server = None
except Exception as e: except Exception as e:
RNS.log("Error while shutting down server for "+str(self)+": "+str(e)) RNS.log("Error while shutting down server for "+str(self)+": "+str(e))
while len(self.listeners): self.listeners.pop()
def __str__(self): def __str__(self):
if ":" in self.bind_ip: if ":" in self.bind_ip: