From aa67f107af219def76c842e970c8e97d9bad8b9e Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Thu, 19 Jul 2018 20:56:45 +0200 Subject: [PATCH] Temporarily use blocking SSL sockets on connect --- telethon/extensions/tcpclient.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/telethon/extensions/tcpclient.py b/telethon/extensions/tcpclient.py index a15d7ca6..716c4066 100644 --- a/telethon/extensions/tcpclient.py +++ b/telethon/extensions/tcpclient.py @@ -102,7 +102,12 @@ class TcpClient: loop=self._loop ) if wrap_ssl: - self._socket = ssl.wrap_socket(self._socket, **self.ssl) + # Temporarily set the socket to blocking + # (timeout) until connection is established. + self._socket.settimeout(self.timeout) + self._socket = ssl.wrap_socket( + self._socket, do_handshake_on_connect=True, **self.ssl) + self._socket.setblocking(False) self._closed.clear() except OSError as e: