# HG changeset patch # User Goffi # Date 1684749469 -7200 # Node ID ff95501abe74a4c46b37fb9499b38cf28dabd5dc # Parent 65e06365759747a16b77c7866e0e38ed893d76ce server (websocket): don't crash when a force-close is failing diff -r 65e063657597 -r ff95501abe74 libervia/server/websockets.py --- a/libervia/server/websockets.py Mon May 22 11:57:49 2023 +0200 +++ b/libervia/server/websockets.py Mon May 22 11:57:49 2023 +0200 @@ -104,10 +104,13 @@ session.touch() session_data = session.getComponent(session_iface.IWebSession) if session_data.ws_socket is not None: - log.warning("Session socket is already set, force closing it") - session_data.ws_socket.send( - "force_close", {"reason": "duplicate connection detected"} - ) + log.warning(f"Session socket is already set {session_data.ws_socket=} {self=}], force closing it") + try: + session_data.ws_socket.send( + "force_close", {"reason": "duplicate connection detected"} + ) + except Exception as e: + log.warning(f"Can't force close old connection: {e}") session_data.ws_socket = self self.__session = session_data self.__profile = session_data.profile or C.SERVICE_PROFILE