Prevent double-connect causing double-reads later

Which leads to "RuntimeError: readexactly() called while another
coroutine is already waiting for incoming data" being raised,
and causing everything to break or halt.
This commit is contained in:
Lonami Exo
2019-08-07 23:43:31 +02:00
parent 48a70308b5
commit e24dd3ad75
2 changed files with 14 additions and 8 deletions

View File

@@ -405,14 +405,17 @@ class TelegramBaseClient(abc.ABC):
except OSError:
print('Failed to connect')
"""
await self._sender.connect(self._connection(
if not await self._sender.connect(self._connection(
self.session.server_address,
self.session.port,
self.session.dc_id,
loop=self._loop,
loggers=self._log,
proxy=self._proxy
))
)):
# We don't want to init or modify anything if we were already connected
return
self.session.auth_key = self._sender.auth_key
self.session.save()