403Webshell
Server IP : 3.96.16.70  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3.9/site-packages/dnf/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.9/site-packages/dnf/__pycache__/lock.cpython-39.pyc
a

�!c��@s�ddlmZddlmZddlmZmZmZddlmZddl	m
Z
ddlZddl
ZddlZddlZddlZddlZddlZddlZddlZe�d�Zdd	�Zd
d�Zdd
�Zdd�Zdd�ZGdd�de�ZdS)�)�absolute_import)�unicode_literals)�ProcessLockError�ThreadLockError�	LockError)�_)�miscN�dnfcCs6tj��s2t�|�d����}tj�	t
��d|�}|S)N�utf-8Zlocks)r	�utilZ	am_i_root�hashlibZsha1�encodeZ	hexdigest�os�path�joinrZgetCacheDir)Zdir_Zhexdir�r�,/usr/lib/python3.9/site-packages/dnf/lock.py�
_fit_lock_dir&s
rcCsttj�t|�d�d|�S)Nzdownload_lock.pid�cachedir��ProcessLockrrrr�r�exit_on_lockrrr�build_download_lock/s�rcCsttj�t|�d�d|�S)Nzmetadata_lock.pid�metadatarrrrr�build_metadata_lock3s�rcCsttj�t|�d�d|�S)Nzrpmdb_lock.pidZRPMDBr)Z
persistdirrrrr�build_rpmdb_lock8s�rcCsttj�t|�d�d|�S)Nzlog_lock.pid�logr)Zlogdirrrrr�build_log_lock=s�rc@s>eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)rFcCs&||_d|_||_||_t��|_dS)Nr)�blocking�count�description�target�	threading�RLock�thread_lock)�selfr"r!rrrr�__init__Cs
zProcessLock.__init__cCs2|jjdd�s d|j}t|��|jd7_dS)NF)rz'%s already locked by a different thread�)r%�acquirer!rr )r&�msgrrr�_lock_threadJs
zProcessLock._lock_threadc
Cs�t�|jtjtjBd�}�zZzt�|tjtjB�WnLt	y�}z4|j
t
jkrjWYd}~Wt�|�dS�WYd}~n
d}~00t�
|d�}t|�dkr�t�|t|��d��|Wt�|�Szt|�}Wn(ty�td�|j}t|��Yn0||k�r|Wt�|�St�d|tj��sft�|dtj�t�|d�t�|t|��d��|Wt�|�S|Wt�|�St�|�0dS)Ni�����rr
z�Malformed lock file found: %s.
Ensure no other dnf/yum process is running and remove the lock file manually or run systemd-tmpfiles --remove dnf.conf.z
/proc/%d/stat)r�openr"�O_CREAT�O_RDWR�fcntlZflockZLOCK_EXZLOCK_NB�OSError�errnoZEWOULDBLOCK�close�read�len�write�strr
�int�
ValueErrorrr�access�F_OK�lseek�SEEK_SET�	ftruncate)r&�pid�fd�eZold_pidr*rrr�	_try_lockPsL 
�
��

�
�
�zProcessLock._try_lockcCs|jd8_|j��dS�Nr()r r%�release)r&rrr�_unlock_threadzszProcessLock._unlock_threadcCs�tj�tj�|j��|��d}t��}|�	|�}||kr�|dkr�|j
sj|��d|j|f}t
||��||kr�td�|}t�|�|}t�d�|�	|�}q4dS)Nr,z%s already locked by %dz*Waiting for process with pid %d to finish.r()r	rZ
ensure_dirrr�dirnamer"r+�getpidrCrrFr!rr�logger�info�time�sleep)r&Zprev_pidZmy_pidr@r*rrr�	__enter__~s"



zProcessLock.__enter__cGs"|jdkrt�|j�|��dSrD)r r�unlinkr"rF)r&Zexc_argsrrr�__exit__�s
zProcessLock.__exit__N)F)	�__name__�
__module__�__qualname__r'r+rCrFrMrOrrrrrBs
*r)Z
__future__rrZdnf.exceptionsrrrZdnf.i18nrZdnf.yumrZdnf.loggingr	Zdnf.utilr3r1rZloggingrr#rKZ	getLoggerrIrrrrr�objectrrrrr�<module>s(
	

Youez - 2016 - github.com/yon3zu
LinuXploit