/
lib
/
python3.9
/
site-packages
/
virtualenv
/
util
/
__pycache__
/
Upload File
HOME
a ��:i� � @ s� d Z ddlZddlZddlmZmZ ddlmZ ddlm Z ddl mZmZ ddl mZmZ G dd � d e�Zi Ze� ZG d d� ded�ZG d d� de�ZG dd� de�Zg d�ZdS )z7holds locking functionality that works across processes� N)�ABCMeta�abstractmethod)�contextmanager)�Path)�Lock�RLock)�FileLock�Timeoutc s8 e Zd Z� fdd�Zd � fdd� Zd� fdd � Z� ZS )�_CountedFileLockc sX t j�|�}t j�|�s:zt �|� W n ty8 Y n0 t� �|� d| _t � | _ d S �Nr )�os�path�dirname�isdir�makedirs�OSError�super�__init__�countr �thread_safe)�self� lock_file�parent�� __class__� �8/usr/lib/python3.9/site-packages/virtualenv/util/lock.pyr s z_CountedFileLock.__init__N皙�����?c sN | j j|d u rdn|d�s$t| j��| jdkr<t� �||� | jd7 _d S )N���)�timeoutr � )r �acquirer r r r )r r Z poll_intervalr r r r! s z_CountedFileLock.acquireFc sh | j �N | jdkr| j �� | jdkr4t� j|d� t| jd d�| _W d � n1 sZ0 Y d S )Nr r )�force)r r �releaser �max)r r"