From a6128b8f8f5d917912dfddf53cf7cf2ed7602352 Mon Sep 17 00:00:00 2001 From: Terrance Date: Mon, 23 Apr 2018 07:58:26 +0100 Subject: [PATCH] Cancel background tasks on disconnect Fixes #782. --- telethon/telegram_bare_client.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/telethon/telegram_bare_client.py b/telethon/telegram_bare_client.py index 9192d4df..65f7dc88 100644 --- a/telethon/telegram_bare_client.py +++ b/telethon/telegram_bare_client.py @@ -253,6 +253,15 @@ class TelegramBareClient: __log__.info('Disconnecting...') self._user_connected = False self._sender.disconnect() + if self._recv_loop: + self._recv_loop.cancel() + self._recv_loop = None + if self._ping_loop: + self._ping_loop.cancel() + self._ping_loop = None + if self._state_loop: + self._state_loop.cancel() + self._state_loop = None # TODO Shall we clear the _exported_sessions, or may be reused? self._first_request = True # On reconnect it will be first again self.session.close()