From 1cb17152f8642097e00818a9a963936bc4b1d05a Mon Sep 17 00:00:00 2001 From: Dan <14043624+delivrance@users.noreply.github.com> Date: Sat, 24 Dec 2022 17:15:10 +0100 Subject: [PATCH] Keep a timeout while connecting and set non-blocking afterwards Also fix an await to None value --- pyrogram/connection/transport/tcp/tcp.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pyrogram/connection/transport/tcp/tcp.py b/pyrogram/connection/transport/tcp/tcp.py index 4524c7a8..ce8c0909 100644 --- a/pyrogram/connection/transport/tcp/tcp.py +++ b/pyrogram/connection/transport/tcp/tcp.py @@ -76,7 +76,6 @@ class TCP: else socket.AF_INET ) - self.socket.setblocking(False) self.socket.settimeout(TCP.TIMEOUT) self.send_queue = asyncio.Queue() @@ -86,10 +85,13 @@ class TCP: await asyncio.get_event_loop().sock_connect(self.socket, address) self.reader, self.writer = await asyncio.open_connection(sock=self.socket) self.send_task = asyncio.create_task(self.send_worker()) + self.socket.setblocking(False) async def close(self): await self.send_queue.put(None) - await self.send_task + + if self.send_task is not None: + await self.send_task try: self.writer.close()