| Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/virtualenv/util/__pycache__/lock.cpython-311.pyc |
�
r�d � �� � d Z ddlZddlZddlmZmZ ddlmZ ddlm Z ddl
mZmZ ddl
mZmZ G d� d e� � Zi Z e� � Z G d
� de�� � Z G d
� de� � Z G d� de� � Zg d�ZdS )z7holds locking functionality that works across processes� N)�ABCMeta�abstractmethod)�contextmanager)�Path)�Lock�RLock)�FileLock�Timeoutc �6 � � e Zd Z� fd�Zd� fd� Zd� fd� Z� xZS ) �_CountedFileLockc �F �� t j � |� � }t j � |� � s& t j |� � n# t
$ r Y nw xY wt
� � � |� � d| _ t � � | _
d S �Nr )�os�path�dirname�isdir�makedirs�OSError�super�__init__�countr �thread_safe)�self� lock_file�parent� __class__s ��e/builddir/build/BUILD/cloudlinux-venv-1.0.2/venv/lib/python3.11/site-packages/virtualenv/util/lock.pyr z_CountedFileLock.__init__ s� �� ������+�+���w�}�}�V�$�$� �
���F�#�#�#�#���
�
�
���
����
������#�#�#���
� �7�7����s �A �
A#�"A#N皙�����?c �� �� | j 5 | j dk r"t � � � ||� � | xj dz
c_ d d d � � d S # 1 swxY w Y d S )Nr � )r r r �acquire)r �timeout�
poll_intervalr s �r r! z_CountedFileLock.acquire s� �� �
�
� � ��z�Q����������7�7�7��J�J�!�O�J�J� � � � � � � � � � � � ���� � � � � � s �>A�A�AFc �� �� | j 5 | j dk r"t � � � |�� � t | j dz
d� � | _ d d d � � d S # 1 swxY w Y d S )Nr )�forcer )r r r �release�max)r r% r s �r r&