Sha256: 830ed2ee56d90258cb29d0042b321e8076f7fac34c66b5f265f93aceb7159d25
Contents?: true
Size: 803 Bytes
Versions: 3
Compression:
Stored size: 803 Bytes
Contents
"""Event loop mixins.""" import threading from . import events _global_lock = threading.Lock() # Used as a sentinel for loop parameter _marker = object() class _LoopBoundMixin: _loop = None def __init__(self, *, loop=_marker): if loop is not _marker: raise TypeError( f'As of 3.10, the *loop* parameter was removed from ' f'{type(self).__name__}() since it is no longer necessary' ) def _get_loop(self): loop = events._get_running_loop() if self._loop is None: with _global_lock: if self._loop is None: self._loop = loop if loop is not self._loop: raise RuntimeError(f'{self!r} is bound to a different event loop') return loop
Version data entries
3 entries across 3 versions & 1 rubygems