Mini Shell
B
��XZ� @ s� d Z dZddlZddlZddlmZ ddlmZ ddlmZ G dd � d �Z G d
d� d�Z
G dd
� d
e
�ZG dd� d�ZG dd� de
�Z
G dd� de
�ZG dd� de�ZdS )zSynchronization primitives.)�Lock�Event� Condition� Semaphore�BoundedSemaphore� N� )�events)�futures)� coroutinec @ s( e Zd ZdZdd� Zdd� Zdd� ZdS ) �_ContextManagera\ Context manager.
This enables the following idiom for acquiring and releasing a
lock around a block:
with (yield from lock):
<block>
while failing loudly when accidentally using:
with lock:
<block>
Deprecated, use 'async with' statement:
async with lock:
<block>
c C s
|| _ d S )N)�_lock)�self�lock� r �2/opt/alt/python37/lib64/python3.7/asyncio/locks.py�__init__ s z_ContextManager.__init__c C s d S )Nr )r
r r r � __enter__# s z_ContextManager.__enter__c G s z| j �� W d d | _ X d S )N)r �release)r
�argsr r r �__exit__( s z_ContextManager.__exit__N)�__name__�
__module__�__qualname__�__doc__r r r r r r r r
s r c @ sH e Zd Zdd� Zdd� Zedd� �Zdd� Zd d
� Zdd� Z d
d� Z
dS )�_ContextManagerMixinc C s t d��d S )Nz9"yield from" should be used as context manager expression)�RuntimeError)r
r r r r 0 s z_ContextManagerMixin.__enter__c G s d S )Nr )r
r r r r r 4 s z_ContextManagerMixin.__exit__c c s&