![]() Server : Apache/2.4.52 (Ubuntu) System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64 User : www-data ( 33) PHP Version : 8.1.2-1ubuntu2.21 Disable Function : NONE Directory : /lib/python3.10/asyncio/ |
"""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