Yury Selivanov <[email protected]> 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 <[email protected]>
<https://bugs.python.org/issue39483>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com