Skip to content

Commit 984e989

Browse files
committed
Lock TCP send()
1 parent 335a2e0 commit 984e989

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

  • pyrogram/connection/transport/tcp

pyrogram/connection/transport/tcp/tcp.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ class TCP:
3939
def __init__(self, proxy: dict):
4040
self.proxy = proxy
4141

42+
self.lock = asyncio.Lock()
43+
4244
self.socket = socks.socksocket()
4345
self.reader = None # type: asyncio.StreamReader
4446
self.writer = None # type: asyncio.StreamWriter
@@ -76,8 +78,9 @@ def close(self):
7678
self.socket.close()
7779

7880
async def send(self, data: bytes):
79-
self.writer.write(data)
80-
await self.writer.drain()
81+
with await self.lock:
82+
self.writer.write(data)
83+
await self.writer.drain()
8184

8285
async def recv(self, length: int = 0):
8386
data = b""

0 commit comments

Comments
 (0)