diff --git a/pyrogram/session/session.py b/pyrogram/session/session.py index e60d48c6..79801086 100644 --- a/pyrogram/session/session.py +++ b/pyrogram/session/session.py @@ -19,6 +19,7 @@ import asyncio import bisect +import contextlib import logging import os from datetime import datetime, timedelta @@ -179,7 +180,9 @@ class Session: await self.connection.close() if self.recv_task: - await self.recv_task + self.recv_task.cancel() + with contextlib.suppress(asyncio.CancelledError): + await self.recv_task if not self.is_media and callable(self.client.disconnect_handler): try: