equal
deleted
inserted
replaced
101 except KeyError: |
101 except KeyError: |
102 return |
102 return |
103 self.free_index(session.session_index) |
103 self.free_index(session.session_index) |
104 self.session_count -= 1 |
104 self.session_count -= 1 |
105 session.kill() |
105 session.kill() |
106 |
106 |
107 def close_all(self): |
107 def close_all(self): |
108 for session in self.iter_sessions(): |
108 for session in self.iter_sessions(): |
109 self.unregister(session) |
109 self.unregister(session) |
110 |
110 |
111 def iter_sessions(self): |
111 def iter_sessions(self): |
112 with self.lock: |
112 with self.lock: |
113 lst = list(self.multiclient_sessions) |
113 lst = list(self.multiclient_sessions) |
114 if self.watchdog_session is not None: |
114 if self.watchdog_session is not None: |
115 lst = [self.watchdog_session]+lst |
115 lst = [self.watchdog_session]+lst |
245 res = 0 |
245 res = 0 |
246 finished = False |
246 finished = False |
247 while not(finished): |
247 while not(finished): |
248 svghmi_wait() |
248 svghmi_wait() |
249 for svghmi_session in svghmi_session_manager.iter_sessions(): |
249 for svghmi_session in svghmi_session_manager.iter_sessions(): |
250 # TODO make svghmi_send_collect waiting only once per |
|
251 # svghmi_session_manager.iter_sessions cycle |
|
252 res = svghmi_send_collect( |
250 res = svghmi_send_collect( |
253 svghmi_session.session_index, |
251 svghmi_session.session_index, |
254 ctypes.byref(size), ctypes.byref(ptr)) |
252 ctypes.byref(size), ctypes.byref(ptr)) |
255 if res == 0: |
253 if res == 0: |
256 svghmi_session.sendMessage( |
254 svghmi_session.sendMessage( |