o
    …9j#  ã                   @   s8   d Z ddlZddlmZ e ¡ Zeƒ ZG dd„ dƒZdS )zEvent loop mixins.é    Né   )Úeventsc                   @   s&   e Zd ZdZedœdd„Zdd„ ZdS )Ú_LoopBoundMixinN)Úloopc                C   s"   |t urtdt| ƒj› d�ƒ‚d S )Nz2As of 3.10, the *loop* parameter was removed from z"() since it is no longer necessary)Ú_markerÚ	TypeErrorÚtypeÚ__name__©Úselfr   © r   ú%/usr/lib/python3.10/asyncio/mixins.pyÚ__init__   s   ÿÿÿz_LoopBoundMixin.__init__c                 C   sb   t  ¡ }| jd u r#t� | jd u r|| _W d   ƒ n1 sw   Y  || jur/t| ›d�ƒ‚|S )Nz# is bound to a different event loop)r   Ú_get_running_loopÚ_loopÚ_global_lockÚRuntimeErrorr
   r   r   r   Ú	_get_loop   s   

€þ
z_LoopBoundMixin._get_loop)r	   Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r      s    r   )	Ú__doc__Ú	threadingÚ r   ÚLockr   Úobjectr   r   r   r   r   r   Ú<module>   s    