????

Your IP : 3.135.209.235


Current Path : /opt/alt/python39/lib64/python3.9/multiprocessing/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/multiprocessing/__pycache__/resource_sharer.cpython-39.opt-2.pyc

a

���e�@s�ddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	dgZ
ejdkrxe
dg7Z
Gd	d�de�Z
ne
d
g7Z
Gdd
�d
e�ZGdd
�d
e�Ze�ZejZdS)�N�)�process)�	reduction)�util�stopZwin32�	DupSocketc@seZdZdd�Zdd�ZdS)rcs(|����fdd�}t�|�j�|_dS)Ncs��|�}|�|�dS�N)�shareZ
send_bytes)�conn�pidr	�Znew_sock��D/opt/alt/python39/lib64/python3.9/multiprocessing/resource_sharer.py�sends
z DupSocket.__init__.<locals>.send)�dup�_resource_sharer�register�close�_id)�selfZsockrr
rr�__init__szDupSocket.__init__cCsBt�|j��"}|��}t�|�Wd�S1s40YdSr)r�get_connectionrZ
recv_bytes�socketZ	fromshare)rr
r	r
r
r�detach$szDupSocket.detachN��__name__�
__module__�__qualname__rrr
r
r
rrs�DupFdc@seZdZdd�Zdd�ZdS)rcs4t�|���fdd�}�fdd�}t�||�|_dS)Ncst�|�|�dSr)rZsend_handle)r
r�Znew_fdr
rr1szDupFd.__init__.<locals>.sendcst���dSr)�osrr
rr
rr3szDupFd.__init__.<locals>.close)r rrrr)r�fdrrr
rrr/s
zDupFd.__init__cCs:t�|j��}t�|�Wd�S1s,0YdSr)rrrrZrecv_handle)rr
r
r
rr7szDupFd.detachNrr
r
r
rr-sc@sJeZdZdd�Zdd�Zedd��Zddd	�Zd
d�Zdd
�Z	dd�Z
dS)�_ResourceSharercCs:d|_i|_t��|_d|_d|_d|_t�	|t
j�dS)Nr)�_key�_cache�	threadingZLock�_lock�	_listener�_address�_threadrZregister_after_forkr"�
_afterfork)rr
r
rr?s
z_ResourceSharer.__init__cCsf|j�L|jdur|��|jd7_||f|j|j<|j|jfWd�S1sX0YdS)Nr)r&r(�_startr#r$)rrrr
r
rrHs
z_ResourceSharer.registercCs<ddlm}|\}}||t��jd�}|�|t��f�|S)Nr��Client��authkey)�
connectionr-r�current_processr/rr �getpid)Zidentr-�address�key�cr
r
rrQs
z_ResourceSharer.get_connectionNcCs�ddlm}|j��|jdur�||jt��jd�}|�d�|��|j	�
|�|j	��rdt�
d�|j��d|_	d|_d|_|j��D]\}\}}|�q�|j��Wd�n1s�0YdS)Nrr,r.z._ResourceSharer thread did not stop when asked)r0r-r&r(rr1r/rrr)�joinZis_aliverZsub_warningr'r$�items�clear)rZtimeoutr-r5r4rrr
r
rrZs$
�



z_ResourceSharer.stopcCs\|j��D]\}\}}|�q
|j��|j��|jdurF|j��d|_d|_d|_dSr)	r$r7r8r&�_at_fork_reinitr'rr(r))rr4rrr
r
rr*os



z_ResourceSharer._afterforkcCsXddlm}t�d�|t��jd�|_|jj|_	t
j|jd�}d|_
|��||_dS)Nr)�Listenerz0starting listener and thread for sending handlesr.)�targetT)r0r:r�debugrr1r/r'r3r(r%ZThread�_serveZdaemon�startr))rr:�tr
r
rr+zs

z_ResourceSharer._startcCs�ttd�rt�tjt���z�|j���f}|��}|durJWd�Wq�|\}}|j�	|�\}}z|||�W|�n|�0Wd�n1s�0YWqt
��s�tj
t���Yq0qdS)N�pthread_sigmask)�hasattr�signalr@�	SIG_BLOCK�
valid_signalsr'ZacceptZrecvr$�poprZ
is_exiting�sys�
excepthook�exc_info)rr
�msgr4Zdestination_pidrrr
r
rr=�s
2z_ResourceSharer._serve)N)rrrrr�staticmethodrrr*r+r=r
r
r
rr"=s		

r")r rBrrFr%�r�contextrr�__all__�platform�objectrrr"rrr
r
r
r�<module>s 


\