Edit File: 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&