2
0
mirror of https://github.com/pyrogram/pyrogram synced 2025-08-28 21:07:59 +00:00

Fix signal handler not working on Windows

This commit is contained in:
Dan 2018-02-25 18:43:30 +01:00
parent 64ebf979e5
commit bce7d5b6e8

View File

@ -159,7 +159,7 @@ class Client:
self.session = None self.session = None
self.is_idle = Event() self.is_idle = None
self.updates_queue = Queue() self.updates_queue = Queue()
self.update_queue = Queue() self.update_queue = Queue()
@ -472,7 +472,7 @@ class Client:
def signal_handler(self, *args): def signal_handler(self, *args):
self.stop() self.stop()
self.is_idle.set() self.is_idle = False
def idle(self, stop_signals: tuple = (SIGINT, SIGTERM, SIGABRT)): def idle(self, stop_signals: tuple = (SIGINT, SIGTERM, SIGABRT)):
"""Blocks the program execution until one of the signals are received, """Blocks the program execution until one of the signals are received,
@ -486,7 +486,10 @@ class Client:
for s in stop_signals: for s in stop_signals:
signal(s, self.signal_handler) signal(s, self.signal_handler)
self.is_idle.wait() self.is_idle = True
while self.is_idle:
time.sleep(1)
def set_update_handler(self, callback: callable): def set_update_handler(self, callback: callable):
"""Use this method to set the update handler. """Use this method to set the update handler.