Şuanki Dizin: /lib64/python3.9/multiprocessing/__pycache__/ |
Şuanki Dosya : //lib64/python3.9/multiprocessing/__pycache__/resource_tracker.cpython-39.opt-1.pyc |
a �DOg�!�@s�ddlZddlZddlZddlZddlZddlmZddlmZgd�Ze ed�Z ejejfZ ddd �iZejd kr�ddlZddlZe�ejejd��Gdd �d e�Ze�ZejZejZejZejZdd�ZdS)�N�)�spawn)�util)�ensure_running�register� unregister�pthread_sigmaskZnoopcCsdS�N�r r r �8/usr/lib64/python3.9/multiprocessing/resource_tracker.py�<lambda>!�r�posix)� semaphoreZ shared_memoryc@sLeZdZdd�Zdd�Zdd�Zdd�Zd d �Zdd�Zd d�Z dd�Z dS)�ResourceTrackercCst��|_d|_d|_dSr )� threading�Lock�_lock�_fd�_pid��selfr r r�__init__0s zResourceTracker.__init__cCsj|j�P|jdur"Wd�dSt�|j�d|_t�|jd�d|_Wd�n1s\0YdS)Nr)rr�os�close�waitpidrrr r r�_stop5s zResourceTracker._stopcCs|��|jSr )rrrr r r�getfdBszResourceTracker.getfdcCs�|j���|jdur~|��r,Wd�dSt�|j�z|jdurRt�|jd�WntyfYn0d|_d|_t� d�g}z|� tj� ��Wnty�Yn0d}t��\}}z�z�|� |�t��}|gt��}|d||g7}z:t�rt�tjt�t�|||�}Wt�r@t�tjt�nt�r>t�tjt�0Wnt�|��Yn0||_||_Wt�|�nt�|�0Wd�n1�s�0YdS)z�Make sure that resource tracker process is running. This can be run from any process. Usually a child process will use the resource created by its parent.NrzUresource_tracker: process died unexpectedly, relaunching. Some resources might leak.z:from multiprocessing.resource_tracker import main;main(%d)z-c)rr�_check_aliverrrr�ChildProcessError�warnings�warn�append�sys�stderr�fileno� Exception�piperZget_executabler�_args_from_interpreter_flags� _HAVE_SIGMASK�signalr� SIG_BLOCK�_IGNORED_SIGNALS�spawnv_passfds�SIG_UNBLOCK)rZfds_to_pass�cmd�r�wZexe�args�pidr r rrFsN � zResourceTracker.ensure_runningcCs0zt�|jd�Wnty&YdS0dSdS)z;Check that the pipe has not been closed by sending a probe.s PROBE:0:noop FTN)r�writer�OSErrorrr r rr�s zResourceTracker._check_alivecCs|�d||�dS)z0Register name of resource with resource tracker.�REGISTERN��_send�r�name�rtyper r rr�szResourceTracker.registercCs|�d||�dS)z2Unregister name of resource with resource tracker.� UNREGISTERNr7r9r r rr�szResourceTracker.unregistercCsB|��d�|||��d�}t|�dkr0td��t�|j|�}dS)Nz{0}:{1}:{2} �asciiiz name too long)r�format�encode�len� ValueErrorrr4r)rr/r:r;�msg�nbytesr r rr8�szResourceTracker._sendN)�__name__� __module__�__qualname__rrrrrrrr8r r r rr.s @rc Cs�t�tjtj�t�tjtj�tr2t�tjt�tj tj fD]$}z|��Wq>ty`Yq>0q>dd�t ��D�}�z�t|d���}|D]�}z�|���d��d�\}}}t �|d�}|dur�td|�d|����|d kr�||�|�n2|d k�r||�|�n|dk�rntd|��Wq�t�yRztjt���WnYn0Yq�0q�Wd�n1�sl0YW|��D]�\}}|�r�zt�d t|�|f�Wnt�y�Yn0|D]X}zNzt ||�Wn8t�y} zt�d|| f�WYd} ~ n d} ~ 00Wn0�qq�n�|��D]�\}}|�rhzt�d t|�|f�Wnt�yfYn0|D]X}zNzt ||�Wn8t�y�} zt�d|| f�WYd} ~ n d} ~ 00Wn0�ql�q*0dS)zRun resource tracker.cSsi|]}|t��qSr )�set)�.0r;r r r� <dictcomp>�r zmain.<locals>.<dictcomp>�rbr=�:NzCannot register z. for automatic cleanup: unknown resource type r6r<ZPROBEzunrecognized command %rzQresource_tracker: There appear to be %d leaked %s objects to clean up at shutdownzresource_tracker: %r: %s)r*�SIGINT�SIG_IGN�SIGTERMr)rr.r,r#�stdin�stdoutrr&�_CLEANUP_FUNCS�keys�open�strip�decode�split�getrA�add�remove�RuntimeError� excepthook�exc_info�itemsr r!r@) �fd�f�cache�liner/r:r;Zcleanup_funcZrtype_cache�er r r�main�s��� 0 � *� � *rc)rr*r#rr �rr�__all__�hasattrr)rLrNr,rQr:�_multiprocessingZ_posixshmem�update� sem_unlinkZ shm_unlink�objectr�_resource_trackerrrrrrcr r r r�<module>s2 � �w
Linux 65-254-81-4.cprapid.com 5.14.0-284.11.1.el9_2.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 9 05:49:00 EDT 2023 x86_64
Apache
65.254.81.4