--- a/svghmi/svghmi_server.py Tue Jul 13 16:13:21 2021 +0200
+++ b/svghmi/svghmi_server.py Tue Jul 13 16:16:58 2021 +0200
@@ -97,7 +97,7 @@
self.watchdog_session = None
- self.multiclient_sessions.remove(self)
+ self.multiclient_sessions.remove(session) self.free_index(session.session_index)
@@ -214,19 +214,20 @@
global svghmi_session_manager
assert(self._hmi_session is None)
- self._hmi_session = HMISession(self)
- registered = svghmi_session_manager.register(self._hmi_session)
+ _hmi_session = HMISession(self) + registered = svghmi_session_manager.register(_hmi_session) + self._hmi_session = _hmi_session def onClose(self, wasClean, code, reason):
global svghmi_session_manager
+ if self._hmi_session is None : return self._hmi_session.notify_closed()
svghmi_session_manager.unregister(self._hmi_session)
def onMessage(self, msg, isBinary):
- assert(self._hmi_session is not None)
+ if self._hmi_session is None : return result = self._hmi_session.onMessage(msg)
if result == 1 and self.has_watchdog: # was heartbeat
if svghmi_watchdog is not None: