403Webshell
Server IP : 217.160.0.244  /  Your IP : 216.73.217.138
Web Server : Apache
System : Linux infong-eu155 4.4.400-icpu-108 #2 SMP Wed Feb 11 11:51:01 UTC 2026 x86_64
User : u100174116 ( 6746176)
PHP Version : 8.5.10
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/breezy/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/breezy/__pycache__/lock.cpython-313.pyc
�

p��g�C�
���%SrSSKrSSKrSSKrSSKrSSKrSSKJrJr SSK	J
r
JrJrJ
r
 SSKJr SSKJr SSKJr \r"S	S
\5r"SS5r"S
S5r"SS5rSrSSKrSrSr\R>S:XaSSK r SSK!r!Sr"SS5r#/r$\%\&\'\\4\(S'\(a@"SS\#5r)"SS\)5r*"SS\)5r+"SS\#5r,\$R[S \*\+45 \(a�SSK!r!SS!K.J/r/J0r0 \!Rbr2\!Rfr4S"r5\!Rl"\4\0\/\/\2\/\/\45"\5\!RnRp45r9S#r:S$r;S%r<Sr=S&r>S'r?S(r@S)rA"S*S+\#5rB"S,S-\B5rC"S.S/\B5rD\$R[S0\D\C45 \E"\$5S:Xa\F"S15e\$SurGrHrI"S2S35rJ\R�S45rLg!\a SrGNjf=f!\"a GNZf=f)5a�Locking using OS file locks or file existence.

Note: This method of locking is generally deprecated in favour of LockDir, but
is used to lock local WorkingTrees, and by some old formats.  It's accessed
through Transport.lock_read(), etc.

This module causes two methods, lock() and unlock() to be defined in
any way that works on the current platform.

It is not specified whether these locks are reentrant (i.e. can be
taken repeatedly by a single process) or whether they exclude
different threads in a single process.  That reentrancy is provided by
LockableFiles.

This defines two classes: ReadLock and WriteLock, which can be
implemented in different ways on different platforms.  Both have an
unlock() method.
�N)�Any�Optional�)�debug�errors�osutils�trace)�Hooks)�gettext)�	Transportc��\rSrSrSrSrg)�	LockHooks�3c��[R"USS5 URSSS5 URSSS5 URSS	S
5 g)Nzbreezy.lockz
Lock.hooks�
lock_acquiredzFCalled with a breezy.lock.LockResult when a physical lock is acquired.)r��
lock_releasedzFCalled with a breezy.lock.LockResult when a physical lock is released.�lock_brokenzDCalled with a breezy.lock.LockResult when a physical lock is broken.)r�)r
�__init__�add_hook��selfs �-/usr/lib/python3/dist-packages/breezy/lock.pyr�LockHooks.__init__4sU��
���t�]�L�9��
�
��T��	
�
	
�
�
��T��	
�
	
�
�
��R��	
��N)�__name__�
__module__�__qualname__�__firstlineno__r�__static_attributes__rrrrr3s��
rrc
���\rSrSrSr\"5rS\S\S\	S\	SS4
S	jr
S
\	4SjrSSjrSS
jr
SSjrS\\SS4SjrS\\S\\4SjrSSjrSSjrS\4SjrSrg)�Lock�GzMBase class for locks.

:cvar hooks: Hook dictionary for operations on locks.
�	transport�path�
file_modebits�dir_modebits�returnNc��g�Nr)rr&r'r(r)s     rr�
Lock.__init__Os��r�modec��gr,r)rr.s  r�create�Lock.createS���rc��gr,rrs r�
break_lock�Lock.break_lockUs��#rc��gr,rrs r�leave_in_place�Lock.leave_in_placeWs��crc��gr,rrs r�dont_leave_in_place�Lock.dont_leave_in_placeYs��3r�tokenc��gr,r�rr<s  r�validate_token�Lock.validate_token[s��#rc��gr,rr>s  r�
lock_write�Lock.lock_write]s��Src��gr,rrs r�	lock_read�Lock.lock_read_r2rc��gr,rrs r�unlock�Lock.unlockas��crc�,�[UR5er,)�NotImplementedError�peekrs rrL�	Lock.peekcs��!�$�)�)�,�,rr)r*N)rrr r!�__doc__r�hooksr�str�intrr0r4r7r:r�	LockTokenr?rBrErHrLr"rrrr$r$Gs����

�K�E��"��*-��>A��QT��	
��%�3�$�%�)�.�E�H�Y�$7�E�D�E�P��� 3�P���8K�P�$�!�-�i�-rr$c�.�\rSrSrSrSSjrSrSrSrg)	�
LockResult�gz3Result of an operation on a lock; passed to a hook.Nc��XlX lg)zCCreate a lock result for lock with optional details about the lock.N��lock_url�details)rrXrYs   rr�LockResult.__init__js�� �
��rc�t�URUR:H=(a URUR:H$r,rW)r�others  r�__eq__�LockResult.__eq__os'���}�}����.�P�4�<�<�5�=�=�3P�Prc�x�SRURRURUR5$)Nz
{}({}, {}))�format�	__class__rrXrYrs r�__repr__�LockResult.__repr__rs)���"�"�4�>�>�#:�#:�D�M�M�4�<�<�X�Xr)rYrXr,)	rrr r!rNrr]rbr"rrrrTrTgs��=��
Q�YrrTc�4�\rSrSrSrS	SjrSrSrSrSr	g)
�LogicalLockResult�vz~The result of a lock_read/lock_write/lock_tree_write call on lockables.

:ivar unlock: A callable which will unlock the lock.
Nc��XlX lgr,)rHr<)rrHr<s   rr�LogicalLockResult.__init__|s�����
rc�8�SRUR5$)NzLogicalLockResult({}))r`rHrs rrb�LogicalLockResult.__repr__�s��&�-�-�d�k�k�:�:rc��U$r,rrs r�	__enter__�LogicalLockResult.__enter__�s���rc�N�UR5 g![a Ucegf=f)NF)rH�
BaseException)r�exc_type�exc_val�exc_tbs    r�__exit__�LogicalLockResult.__exit__�s7��	��K�K�M����	���� ��	�s��$�$)r<rHr,)
rrr r!rNrrbrlrsr"rrrrerevs���
�;��rrec��S[R;a%[R"SR	U5SS9 g[
R"U5e)z�An attempt to unlock failed because the object was not locked.

This provides a policy point from which we can generate either a warning or
an exception.
rHz{!r} is already unlocked�)�
stacklevelN)r�debug_flags�warnings�warnr`r�LockNotHeld)�
locked_objects r�cant_unlock_not_heldr}�s>���5�$�$�$��
�
�0�7�7�
�F�ST�U�� � ��/�/rTF�win32c�,�\rSrSrSrSrSrSrSrg)�_OSLock�c� �SUlSUlgr,��f�filenamers rr�_OSLock.__init__�s�������
rc�4�[R"U5Ul[URU5UlUR$![
a�nUR[R[R4;a*[R"UR[U55eUR[R:wae[R"SUR5 [URS5UlURsSnA$SnAff=f)Nz trying to create missing lock %rzwb+)r�realpathr��openr��OSError�errno�EACCES�EPERMr�
LockFailedrP�ENOENTr	�mutter)rr��filemode�es    r�_open�
_OSLock._open�s����(�(��2��
�
	��$�-�-��2�D�F��6�6�M���
	��w�w�5�<�<����5�5��'�'��
�
�s�1�v�>�>��w�w�%�,�,�&��
�L�L�;�T�]�]�K��$�-�-��/�D�F��6�6�M��
	�s�&A�
D�B>D�D�Dc�j�UR(a"URR5 SUlgg)z#Clear the self.f attribute cleanly.N)r��closers r�_clear_f�_OSLock._clear_f�s"���6�6��F�F�L�L�N��D�F�rc��[5er,)rKrs rrH�_OSLock.unlock�s��!�#�#rr�N)	rrr r!rr�r�rHr"rrrr�r��s����"�$rr��
_lock_classesc��\rSrSrSrSrg)�_fcntl_FileLock��c��[R"UR[R5 UR	5 gr,)�fcntl�lockfr��LOCK_UNr�rs r�_unlock�_fcntl_FileLock._unlock�s!���K�K�����
�
�.��M�M�OrrN)rrr r!r�r"rrrr�r��s��	rr�c�N^�\rSrSr%\"5r\\\S'U4SjrSr	Sr
U=r$)�_fcntl_WriteLock���_open_locksc�>�[TU]5 [R"U5UlUR[
R;a0UR5 [R"UR5eUR[R;asS[R;a0UR5 [R"UR5e[R"SRUR55 UR!URS5 [
RR#UR5 [$R&"UR([$R*[$R,-5 g![.adnUR0[0R2[0R44;aUR75 [R"URU5eSnAff=f)N�strict_locksz,Write lock taken w/ an open read lock on: {}�rb+)�superrrr�r�r�r�r�r�LockContention�_fcntl_ReadLockrrxr	r�r`r��addr�r�r��LOCK_EX�LOCK_NBr�r��EAGAINr�rH�rr�r�ras   �rr�_fcntl_WriteLock.__init__�sO����G���#�,�,�X�6�D�M��}�}� 0� <� <�<��
�
���+�+�D�M�M�:�:��}�}�� ;� ;�;�!�U�%6�%6�6��M�M�O� �/�/��
�
�>�>��L�L�F�M�M� �M�M���
�J�J�t�}�}�e�,�
�(�(�,�,�T�]�]�;�

>����D�F�F�E�M�M�E�M�M�$A�B���
>��7�7�u�|�|�U�\�\�:�:��K�K�M��+�+�D�M�M�1�=�=��

>�s�AF�
G?�AG:�:G?c�v�[RRUR5 UR	5 gr,)r�r��remover�r�rs rrH�_fcntl_WriteLock.unlocks#���(�(�/�/��
�
�>��L�L�Nr�r�)rrr r!�setr�rP�__annotations__rrHr"�
__classcell__�ras@rr�r��s#��� #���S��X�%�!	>�F	�	rr�c�N^�\rSrSr%0r\\\4\S'U4Sjr	Sr
SrSrU=r
$)r�ir�c�>�[TU]5 [R"U5UlUR[
R;acS[R;a [R"UR5e[R"SRUR55 [RRURS5 [RUR==S-
ss'UR!US5 ["R$"UR&["R(["R*-5 g![,a&n[R"URU5eSnAff=f)Nr�z,Read lock taken w/ an open write lock on: {}rr�rb)r�rrr�r�r�r�rrxrr�r	r�r`r��
setdefaultr�r�r�r��LOCK_SHr�r�r�s   �rr�_fcntl_ReadLock.__init__
s����G���#�,�,�X�6�D�M��}�}� 0� <� <�<�!�U�%6�%6�6�!�/�/��
�
�>�>��L�L�F�M�M� �M�M���

�'�'�2�2�4�=�=�!�D��'�'��
�
�6�!�;�6��J�J�x��&�
>����D�F�F�E�M�M�E�M�M�$A�B���
>��+�+�D�M�M�1�=�=��
>�s�AE�
E?�!E:�:E?c���[RURnUS:Xa[RUR	O US-
[RUR'UR5 g)Nr)r�r�r�r�)r�counts  rrH�_fcntl_ReadLock.unlock$sP��#�/�/��
�
�>�E���z�#�/�/��
�
�>�=B�Q�Y��+�+�D�M�M�:��L�L�Nrc���UR[R;a$[SR	UR55e[U5nSU4$![Ra SU4s$f=f)�Try to grab a write lock on the file.

On platforms that support it, this will upgrade to a write lock
without unlocking the file.
Otherwise, this will release the read lock, and try to acquire a
write lock.

:return: A token which can be used to switch back to a read lock.
�file already locked: {!r}FT)r�r�r��AssertionErrorr`�_fcntl_TemporaryWriteLockr�	LockError�r�wlocks  r�temporary_write_lock�$_fcntl_ReadLock.temporary_write_lock,sn���}�}� 0� <� <�<�$�%@�%G�%G��
�
�%V�W�W�
#�1�$�7����;����#�#�
#��d�{�"�
#�s�A�A.�-A.r�)rrr r!r��dictrPrQr�rrHr�r"r�r�s@rr�r�s)���&(��T�#�s�(�^�(�	>�4	�	�	rr�c�2^�\rSrSrSrU4SjrSrSrU=r$)r�i?ztA token used when grabbing a temporary_write_lock.

Call restore_read_lock() when you are done with the write lock.
c�>�[TU]5 XlURUl[R
URnUS:�a [R"UR5eUR[R
;a$[SRUR55e[URS5n[$R&"U[$R([$R*-5 [R
R-UR5 X0lg![a^nUR[R[R4;a*[R "UR[#U55eeSnAff=f![a&n[R"URU5eSnAff=f)Nrr�r�)r�r�
_read_lockr�r�r�rr�r�r�r`r�r�r�r�r�r�rPr�r�r�r�r�r�)r�	read_lockr��new_fr�ras     �rr�"_fcntl_TemporaryWriteLock.__init__EsG����G���'�O�%�.�.�D�M�#�/�/��
�
�>�E��q�y��+�+�D�M�M�:�:��}�}� 0� <� <�<�$�%@�%G�%G��
�
�%V�W�W�
��T�]�]�E�2��

>����E�5�=�=�5�=�=�#@�A�
�(�(�,�,�T�]�]�;��F���
��7�7�u�|�|�U�[�[�9�9� �+�+�D�M�M�3�q�6�B�B���
���
>��+�+�D�M�M�1�=�=��
>�s1�-D*�6F�*
F�4AF
�
F�
G�!G�Gc��[R"UR[R5 UR	5 [
RRUR5 URnSUl	U$)�Restore the original ReadLock.N)
r�r�r�r�r�r�r�r�r�r�)rr�s  r�restore_read_lock�+_fcntl_TemporaryWriteLock.restore_read_lockhsQ��
�K�K�����
�
�.��M�M�O��(�(�/�/��
�
�>����I�"�D�O��r)r�r�r�)	rrr r!rNrr�r"r�r�s@rr�r�?s���	�
!	�F
	�
	rr�r�)�DWORD�LPWSTR�CreateFileW���li@���� c� �\rSrSrSrSrSrg)�_ctypes_FileLocki�c	���[R"U5Ul[XUS[[
S5nU[S4;aq[R"5nURS[:Xa[R"X5eURS[:Xa[R"X5eUe[R "Xd5n["R$"X�5UlUR&$)Nr)rr�r��_CreateFile�OPEN_ALWAYS�FILE_ATTRIBUTE_NORMAL�INVALID_HANDLE_VALUE�ctypes�WinError�args�ERROR_ACCESS_DENIEDrr��ERROR_SHARING_VIOLATIONr��msvcrt�open_osfhandle�os�fdopenr�)	rr��access�share�cflags�pymode�handler��fds	         rr��_ctypes_FileLock._open�s���#�,�,�X�6�D�M� ��%��{�<Q�ST��F��.��2�2��O�O�%���6�6�!�9� 3�3� �+�+�H�8�8��6�6�!�9� 7�7� �/�/��<�<����&�&�v�6�B��Y�Y�r�*�D�F��6�6�Mrc�$�UR5 gr,)r�rs rrH�_ctypes_FileLock.unlock�s���M�M�Orr�N)rrr r!r�rHr"rrrr�r��s��	� 	rr�c�.^�\rSrSrU4SjrSrSrU=r$)�_ctypes_ReadLocki�c�x>�[TU]5 URU[[[
RS5 g)Nr�)r�rr��GENERIC_READ�FILE_SHARE_READr��O_RDONLY�rr�ras  �rr�_ctypes_ReadLock.__init__�s&����G����J�J�x������T�Rrc��UR5 [UR5nSU4$![Ra S[UR54s$f=f)r�FT)rH�_ctypes_WriteLockr�rr�r�r�s  rr��%_ctypes_ReadLock.temporary_write_lock�sX��
�K�K�M�
>�)�$�-�-�8����;����#�#�
>��.�t�}�}�=�=�=�
>�s�+�+A�Ar)rrr r!rr�r"r�r�s@rr�r��s���	S�	�	rr�c�.^�\rSrSrU4SjrSrSrU=r$)ri�c�~>�[TU]5 URU[[-S[
RS5 g)Nrr�)r�rr�r��
GENERIC_WRITEr��O_RDWRrs  �rr�_ctypes_WriteLock.__init__�s+����G����J�J�x��
�!=�q�"�)�)�U�Src�L�UR5 [UR5$)r�)rHr�r�rs rr��#_ctypes_WriteLock.restore_read_lock�s��
�K�K�M�#�D�M�M�2�2rr)rrr r!rr�r"r�r�s@rrr�s���	T�	3�	3rrr�zDWe must have one of fcntl or ctypes available to support OS locking.c�"�\rSrSrSrSrSrSrg)�_RelockDebugMixini�aMixin support for -Drelock flag.

Add this as a base class then call self._note_lock with 'r' or 'w' when
acquiring a read- or write-lock.  If this object was previously locked (and
locked the same way), and -Drelock is set, then this will trace.note a
message about it.
Nc��S[R;a;URU:Xa+US:XaSnOSn[R"[S5X5 Xlg)N�relock�r�read�writez{0!r} was {1} locked again)rrx�
_prev_lockr	�noter)r�	lock_type�	type_names   r�
_note_lock�_RelockDebugMixin._note_lock�sF���u�(�(�(�T�_�_�	�-I��C��"�	�#�	��J�J�w�;�<�d�N�#�r)r)rrr r!rNrrr"rrrrr�s����J�$rrc#�# �UR5 Uv� UR5 g!UR5 f=f7fr,)rBrH)�lockables r�write_lockedr�s/�������������������s�>�)�>�;�>)MrN�
contextlibr�r��sysry�typingrr�rrrr	rOr
�i18nrr&r�bytesrRrr$rTrer}r��
have_fcntl�ModuleNotFoundError�have_ctypes_win32�platformr�r��ImportErrorr�r��list�tuplerPr�r�r�r�r��append�ctypes.wintypesr�r��c_void_p�LPSECURITY_ATTRIBUTES�c_int�HANDLE�_function_name�WINFUNCTYPE�windll�kernel32r�r�r�r	rr�r�r�r�r�r�r�lenrK�
_lock_type�	WriteLock�ReadLockr�contextmanagerrrrr�<module>r:s`��"�&��	�
�� �+�+��� ��	�
��
�(-�-�@Y�Y���4
0� ���J����<�<�7���
�� ��
$�$�@-/�
�t�E�#�s�C�-�(�)�.���'��
(�?�(�T6�/�6�p3�G�3�j���'�#3�_�E�F���-�"�O�O��
�\�\�F�"�N��$�$���
�
��
�
��	��v�}�}�-�-�.�	0�K����L��M��O��K����� ���7��(�+��0
3�,�
3����(�$5�7G�H�I��}����
�N���#0��"2��
�I�x�$�$�*�������[
���J����
��
�s$�-G�
G!�G�G�!G+�*G+

Youez - 2016 - github.com/yon3zu
LinuXploit