uawdijnntqw1x1x1
IP : 3.22.68.228
Hostname : host45.registrar-servers.com
Kernel : Linux host45.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
..
/
usr
/
lib64
/
python3.6
/
multiprocessing
/
__pycache__
/
semaphore_tracker.cpython-36.pyc
/
/
3 \�@s�ddlZddlZddlZddlZddlZddlZddlmZddlmZdddgZ Gdd �d e �Ze�Zej Z ejZejZejZd d�ZdS)�N�)�spawn)�util�ensure_running�register� unregisterc@s<eZdZdd�Zdd�Zdd�Zdd�Zd d �Zdd�Zd S)�SemaphoreTrackercCstj�|_d|_d|_dS)N)� threadingZLock�_lock�_fd�_pid)�self�r�9/usr/lib64/python3.6/multiprocessing/semaphore_tracker.py�__init__s zSemaphoreTracker.__init__cCs|j�|jS)N)rr)r rrr�getfd"szSemaphoreTracker.getfdc Cs|j��|jdk rRtj|jtj�\}}|s0dStj|j�d|_d|_tjd�g}y|j t jj��Wnt k r~YnXd}tj�\}}zlyB|j |�tj�}|gtj�}|d||g7}tj|||�}Wntj|��YnX||_||_Wdtj|�XWdQRXdS)z�Make sure that semaphore tracker process is running. This can be run from any process. Usually a child process will use the semaphore created by its parent.NzWsemaphore_tracker: process died unexpectedly, relaunching. Some semaphores might leak.z;from multiprocessing.semaphore_tracker import main;main(%d)z-c)r r�os�waitpid�WNOHANG�closer�warnings�warn�append�sys�stderr�fileno� Exception�piperZget_executablerZ_args_from_interpreter_flagsZspawnv_passfds) r �pidZstatusZfds_to_pass�cmd�r�wZexe�argsrrrr&s8 zSemaphoreTracker.ensure_runningcCs|jd|�dS)z2Register name of semaphore with semaphore tracker.ZREGISTERN)�_send)r �namerrrrQszSemaphoreTracker.registercCs|jd|�dS)z4Unregister name of semaphore with semaphore tracker.Z UNREGISTERN)r#)r r$rrrrUszSemaphoreTracker.unregistercCsP|j�dj||�jd�}t|�dkr.td��tj|j|�}|t|�ksLt�dS)Nz{0}:{1} �asciiiz name too long) r�format�encode�len� ValueErrorr�writer�AssertionError)r rr$�msg�nbytesrrrr#YszSemaphoreTracker._sendN) �__name__� __module__�__qualname__rrrrrr#rrrrrs+rc-Cs�tjtjtj�tjtjtj�x6tjtjfD]&}y|j�Wq.tk rRYq.Xq.Wt �}z�t |d���}x�|D]�}yJ|j�jd�\}}|dkr�|j |�n |dkr�|j|�ntd|��Wqrtk r�ytjtj��WnYnXYqrXqrWWdQRXWd|�r<ytjdt|��Wntk �r:YnXxf|D]^}zT|jd�}ytj|�Wn6tk �r�}ztjd ||f�WYdd}~XnXWdX�qBWXdS) zRun semaphore tracker.�rb�:sREGISTERs UNREGISTERzunrecognized command %rNzRsemaphore_tracker: There appear to be %d leaked semaphores to clean up at shutdownr%zsemaphore_tracker: %r: %s)�signal�SIGINT�SIG_IGN�SIGTERMr�stdin�stdoutrr�set�open�strip�split�add�remove�RuntimeError� excepthook�exc_inforrr(�decode�_multiprocessingZ sem_unlink)�fd�f�cache�linerr$�errr�mainksJ (rI)rr3rr rrC�rr�__all__�objectrZ_semaphore_trackerrrrrrIrrrr�<module>s I
/home/../usr/lib64/python3.6/multiprocessing/__pycache__/semaphore_tracker.cpython-36.pyc