equal
deleted
inserted
replaced
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 with self.lock: |
108 for session in self.iter_sessions(): |
109 close_list = list(self.multiclient_sessions) |
109 self.unregister(session) |
110 if self.watchdog_session: |
|
111 close_list.append(self.watchdog_session) |
|
112 for session in close_list: |
|
113 self.unregister(session) |
|
114 |
110 |
115 def iter_sessions(self): |
111 def iter_sessions(self): |
116 with self.lock: |
112 with self.lock: |
117 nxt_session = self.watchdog_session |
113 lst = list(self.multiclient_sessions) |
118 if nxt_session is not None: |
114 if self.watchdog_session is not None: |
119 yield nxt_session |
115 lst = [self.watchdog_session]+lst |
120 idx = 0 |
116 for nxt_session in lst: |
121 while True: |
117 yield nxt_session |
122 with self.lock: |
|
123 if idx >= len(self.multiclient_sessions): |
|
124 return |
|
125 nxt_session = self.multiclient_sessions[idx] |
|
126 yield nxt_session |
|
127 idx += 1 |
|
128 |
118 |
129 |
119 |
130 svghmi_session_manager = HMISessionMgr() |
120 svghmi_session_manager = HMISessionMgr() |
131 |
121 |
132 |
122 |