https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/virtualenv/util/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/virtualenv/util/__pycache__/lock.cpython-310.pyc
o

$�"b��@s�dZddlmZmZddlZddlZddlmZmZddl	m
Z
ddlmZm
Z
ddlmZmZddlmZdd	lmZGd
d�de�ZiZe�Zee�Gdd
�d
e��ZGdd�de�ZGdd�de�ZdZdS)z7holds locking functionality that works across processes�)�absolute_import�unicode_literalsN)�ABCMeta�abstractmethod)�contextmanager)�Lock�RLock)�FileLock�Timeout)�
add_metaclass)�Pathcs8eZdZ�fdd�Zd
�fdd�	Zd�fdd	�	Z�ZS)�_CountedFileLockcs\tj�|�}tj�|�szt�|�Wn	tyYnwtt|��|�d|_	t
�|_dS�Nr)�os�path�dirname�isdir�makedirs�OSError�superr
�__init__�countr�thread_safe)�self�	lock_file�parent��	__class__��6/usr/lib/python3/dist-packages/virtualenv/util/lock.pyrs�z_CountedFileLock.__init__N皙�����?csV|j�|jdkrtt|��||�|jd7_Wd�dS1s$wYdS)Nr�)rrrr
�acquire)r�timeout�
poll_intervalrrrr"s

"�z_CountedFileLock.acquireFcsZ|j� |jdkrtt|�j|d�t|jdd�|_Wd�dS1s&wYdS)Nr!)�forcer)rrrr
�release�max)rr%rrrr&"s

"�z_CountedFileLock.release)Nr �F)�__name__�
__module__�__qualname__rr"r&�
__classcell__rrrrr
sr
c@sfeZdZdd�Zdd�Zdd�Zdd�Zed	d
��Zedd��Z	ee
ddd���Zee
dd���ZdS)�PathLockBasecCs(t|�}|��r|��|_dS||_dS�N)r�exists�resolver)r�folderrrrrr/s zPathLockBase.__init__cCsd�|jj|j�S)Nz{}({}))�formatrr)r�rrrr�__repr__3�zPathLockBase.__repr__cCst|�|j|�Sr.)�typer�r�otherrrr�__div__6r5zPathLockBase.__div__cCs
|�|�Sr.)r9r7rrr�__truediv__9s
zPathLockBase.__truediv__cC�t�r.��NotImplementedErrorr3rrr�	__enter__<�zPathLockBase.__enter__cCr;r.r<�r�exc_type�exc_val�exc_tbrrr�__exit__@r?zPathLockBase.__exit__FcCr;r.r<�r�name�no_blockrrr�lock_for_keyD�zPathLockBase.lock_for_keycCr;r.r<)rFrrr�non_reentrant_lock_for_keyIrIz'PathLockBase.non_reentrant_lock_for_keyNr()
r)r*r+rr4r9r:rr>rDrrHrJrrrrr--s

r-cszeZdZ�fdd�Zddd�Zedd��Zdd	�Zd
d�Zdd
�Z	ddd�Z
edd��Zeddd��Z
edd��Z�ZS)�ReentrantFileLockcstt|��|�d|_dSr.)rrKr�_lock)rr1rrrrPs
zReentrantFileLock.__init__�cCsXt|jd�|��}t�|tvrt|�t|<t|Wd�S1s%wYdS�Nz{}.lock)�strrr2�_store_lock�_lock_storer
)rrFrrrr�_create_lockTs$�zReentrantFileLock._create_lockc	Cs�|dur@t�0|j�|jdkrt�|jd�Wd�n1s!wYWd�dSWd�dS1s9wYdSdSr)rPrrrQ�popr��lockrrr�	_del_lock[s
���"��zReentrantFileLock._del_lockcCs|�|j�dSr.)rVrLr3rrr�__del__cszReentrantFileLock.__del__cCs|��|_|�|j�dSr.)rRrL�
_lock_filer3rrrr>fs
zReentrantFileLock.__enter__cCs"|�|j�|�|j�d|_dSr.)�_releaserLrVr@rrrrDjs
zReentrantFileLock.__exit__FcCsrz
t�t|j��Wn	tyYnwz|�d�WdSty8|r&�t�d|j	�|�
�|��YdSw)Ng-C��6?z/lock file %s present, will block until released)rrrOrrr"r
�logging�debugrr&)rrUrGrrrrXos��zReentrantFileLock._lock_filecCs|��dSr.)r&rTrrrrY�szReentrantFileLock._releasec	cs`�|�|�}z!z|�||�dVW|�|�n|�|�wW|�|�d}dS|�|�d}wr.)rRrXrYrV)rrFrGrUrrrrH�s�


�zReentrantFileLock.lock_for_keyccsF�tt|jd�|����dVWd�dS1swYdSrN)r
rOrr2�rrFrrrrJ�s�"�z,ReentrantFileLock.non_reentrant_lock_for_key)rMr()r)r*r+rrR�staticmethodrVrWr>rDrXrYrrHrJr,rrrrrKOs



rKc@s6eZdZdd�Zdd�Zeddd��Zedd	��Zd
S)�NoOpFileLockcCr;r.r<r3rrrr>��zNoOpFileLock.__enter__cCr;r.r<r@rrrrD�r_zNoOpFileLock.__exit__Fcc��dVdSr.rrErrrrH���
zNoOpFileLock.lock_for_keyccr`r.rr\rrrrJ�raz'NoOpFileLock.non_reentrant_lock_for_keyNr()r)r*r+r>rDrrHrJrrrrr^�sr^)r^rKr
)�__doc__�
__future__rrrZr�abcrr�
contextlibr�	threadingrr�filelockr	r
�sixr�virtualenv.util.pathrr
rQrP�objectr-rKr^�__all__rrrr�<module>s$!H

https://t.me/RX1948 - 2025