plugin XEP-0384: proper handling of exceptions in prepare_for_profile
This commit is contained in:
parent
3896e091fd
commit
8daec13fbb
1 changed files with 16 additions and 5 deletions
|
|
@ -1468,11 +1468,22 @@ class OMEMO:
|
|||
self.__session_manager_waiters[profile] = []
|
||||
|
||||
# Build and store the session manager
|
||||
session_manager = await prepare_for_profile(
|
||||
self.__sat,
|
||||
profile,
|
||||
initial_own_label="Libervia"
|
||||
)
|
||||
try:
|
||||
session_manager = await prepare_for_profile(
|
||||
self.__sat,
|
||||
profile,
|
||||
initial_own_label="Libervia"
|
||||
)
|
||||
except Exception as e:
|
||||
# In case of an error during initalization, notify the waiters accordingly
|
||||
# and delete them
|
||||
for waiter in self.__session_manager_waiters[profile]:
|
||||
waiter.errback(e)
|
||||
del self.__session_manager_waiters[profile]
|
||||
|
||||
# Re-raise the exception
|
||||
raise
|
||||
|
||||
self.__session_managers[profile] = session_manager
|
||||
|
||||
# Notify the waiters and delete them
|
||||
|
|
|
|||
Loading…
Reference in a new issue