Refactor ThreadLocalSingleton provider to use async mode api

This commit is contained in:
Roman Mogylatov 2021-01-01 22:31:48 -05:00
parent 913b562369
commit 3da1698f95
2 changed files with 1963 additions and 2257 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2388,16 +2388,11 @@ cdef class ThreadLocalSingleton(BaseSingleton):
self.__storage.instance = instance self.__storage.instance = instance
finally: finally:
if self.__async:
result = asyncio.Future()
result.set_result(instance)
return result
return instance return instance
def _async_init_instance(self, future_result, result): def _async_init_instance(self, future_result, result):
instance = result.result() instance = result.result()
self.__storage.instance = instance self.__storage.instance = instance
self.__async = True
future_result.set_result(instance) future_result.set_result(instance)