Skip to content

Commit de33247

Browse files
committed
Join net worker threads before stopping. Fixes #62
1 parent 33c4179 commit de33247

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

pyrogram/session/session.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ def __init__(self,
120120
self.next_salt_thread = None
121121
self.next_salt_thread_event = Event()
122122

123+
self.net_worker_list = []
124+
123125
self.is_connected = Event()
124126

125127
def start(self):
@@ -128,7 +130,14 @@ def start(self):
128130
self.connection.connect()
129131

130132
for i in range(self.NET_WORKERS):
131-
Thread(target=self.net_worker, name="NetWorker#{}".format(i + 1)).start()
133+
self.net_worker_list.append(
134+
Thread(
135+
target=self.net_worker,
136+
name="NetWorker#{}".format(i + 1)
137+
)
138+
)
139+
140+
self.net_worker_list[-1].start()
132141

133142
Thread(target=self.recv, name="RecvThread").start()
134143

@@ -190,6 +199,11 @@ def stop(self):
190199
for i in range(self.NET_WORKERS):
191200
self.recv_queue.put(None)
192201

202+
for i in self.net_worker_list:
203+
i.join()
204+
205+
self.net_worker_list.clear()
206+
193207
for i in self.results.values():
194208
i.event.set()
195209

0 commit comments

Comments
 (0)