Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/site-packages/aiohttp/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/site-packages/aiohttp/__pycache__/locks.cpython-35.opt-1.pyc



���Z��@s/ddlZddlZGdd�d�ZdS)�Nc@sIeZdZdZdd�Zddd�Zdd�Zd	d
�ZdS)�EventResultOrErrorz�
    This class wrappers the Event asyncio lock allowing either awake the
    locked Tasks without any error or raising an exception.

    thanks to @vorpalsmith for the simple design.
    cCs:||_d|_tjd|�|_tj�|_dS)N�loop)�_loop�_exc�asyncioZEvent�_event�collections�deque�_waiters)�selfr�r�@/opt/alt/python35/lib64/python3.5/site-packages/aiohttp/locks.py�__init__s		zEventResultOrError.__init__NcCs||_|jj�dS)N)rr�set)r�excrrr
rs	zEventResultOrError.setc�sj|jj|jj��}|jj|�z|IdH}Wd|jj|�X|jdk	rf|j�|S)N)rZcreate_taskr�waitr
�append�remover)r�waiter�valrrr
rs	zEventResultOrError.waitcCs"x|jD]}|j�q
WdS)z Cancel all waiters N)r
�cancel)rrrrr
r#szEventResultOrError.cancel)�__name__�
__module__�__qualname__�__doc__rrrrrrrr
rs

r)rrrrrrr
�<module>s