Attempt at passing errors to the main thread through .updates

This commit is contained in:
Lonami Exo
2017-09-18 10:59:54 +02:00
parent e3ab98815d
commit 143e046cf5
2 changed files with 26 additions and 1 deletions

View File

@@ -230,6 +230,8 @@ class TelegramClient(TelegramBareClient):
threading.get_ident() == self._recv_thread.ident:
raise AssertionError('Cannot invoke requests from the ReadThread')
self.updates.check_error()
try:
# Users may call this method from within some update handler.
# If this is the case, then the thread invoking the request
@@ -1025,5 +1027,10 @@ class TelegramClient(TelegramBareClient):
self._recv_thread = None # Not running anymore
self.reconnect()
return
except Exception as e:
# Unknown exception, pass it to the main thread
self.updates.set_error(e)
self._recv_thread = None
return
# endregion