From 7641ba2d3287deaacb9707594ffb816ce05290bc Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Mon, 18 Jun 2018 13:29:12 +0200 Subject: [PATCH] Fix sleep on the wrong indent and handle CancelledError This was causing a huge slow-down every time a request was received delaying all the subsequent incoming messages too --- telethon/network/mtprotosender.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/telethon/network/mtprotosender.py b/telethon/network/mtprotosender.py index f7db0036..cb34ad5d 100644 --- a/telethon/network/mtprotosender.py +++ b/telethon/network/mtprotosender.py @@ -350,6 +350,8 @@ class MTProtoSender: break except asyncio.TimeoutError: continue + except asyncio.CancelledError: + return except OSError as e: __log__.warning('OSError while sending %s', e) except: @@ -385,6 +387,8 @@ class MTProtoSender: body = await self._connection.recv() except asyncio.TimeoutError: continue + except asyncio.CancelledError: + return except Exception as e: if isinstance(e, ConnectionError): __log__.info('Connection reset while receiving %s', e) @@ -432,10 +436,12 @@ class MTProtoSender: else: try: await self._process_message(message) + except asyncio.CancelledError: + return except: __log__.exception('Unhandled exception while ' 'processing %s', message) - await asyncio.sleep(1) + await asyncio.sleep(1) # Response Handlers