--- 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
else:
try:
- self.multiclient_sessions.remove(self)
+ self.multiclient_sessions.remove(session)
except KeyError:
return
self.free_index(session.session_index)
@@ -214,19 +214,20 @@
def onOpen(self):
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)
self._hmi_session = None
def onMessage(self, msg, isBinary):
global svghmi_watchdog
- 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: