Yury Selivanov <yseliva...@gmail.com> added the comment: Андрей,
Here's how you can fix your example: import asyncio class Singleton: _LOCK = None _LOOP = None @classmethod async def create(cls): if cls._LOOP is None: cls._LOOP = asyncio.get_running_loop() cls._LOCK = asyncio.Lock() loop = cls._LOOP if loop is not asyncio.get_running_loop(): raise RuntimeError() if not hasattr(cls, '_Singleton__instance'): async with cls._LOCK: if not hasattr(cls, '_Singleton__instance'): await asyncio.sleep(1) cls.__instance = cls() return cls.__instance ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue39483> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com