????

Your IP : 3.142.172.36


Current Path : /lib/python3.10/multiprocessing/__pycache__/
Upload File :
Current File : //lib/python3.10/multiprocessing/__pycache__/resource_sharer.cpython-310.pyc

o

�*�g�@s�ddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	dgZ
ejdkr<e
dg7Z
Gd	d�de�Z
n
e
d
g7Z
Gdd
�d
e�ZGdd
�d
e�Ze�ZejZdS)�N�)�process)�	reduction)�util�stop�win32�	DupSocketc@� eZdZdZdd�Zdd�ZdS)rzPicklable wrapper for a socket.cs(|����fdd�}t�|�j�|_dS)Ncs��|�}|�|�dS�N)�share�
send_bytes)�conn�pidr��new_sock��6/usr/lib/python3.10/multiprocessing/resource_sharer.py�sends
z DupSocket.__init__.<locals>.send)�dup�_resource_sharer�register�close�_id)�self�sockrrrr�__init__szDupSocket.__init__cCsBt�|j��}|��}t�|�Wd�S1swYdS)z1Get the socket.  This should only be called once.N)r�get_connectionr�
recv_bytes�socket�	fromshare)rr
rrrr�detach$s$�zDupSocket.detachN��__name__�
__module__�__qualname__�__doc__rr rrrrrs�DupFdc@r	)r&z-Wrapper for fd which can be used at any time.cs4t�|���fdd�}�fdd�}t�||�|_dS)Ncst�|�|�dSr
)r�send_handle)r
r��new_fdrrr1szDupFd.__init__.<locals>.sendcst���dSr
)�osrrr(rrr3szDupFd.__init__.<locals>.close)r*rrrr)r�fdrrrr(rr/s
zDupFd.__init__cCs:t�|j��
}t�|�Wd�S1swYdS)z-Get the fd.  This should only be called once.N)rrrr�recv_handle)rr
rrrr 7s$�zDupFd.detachNr!rrrrr&-sc@sNeZdZdZdd�Zdd�Zedd��Zdd	d
�Zdd�Z	d
d�Z
dd�ZdS)�_ResourceSharerz.Manager for resources using background thread.cCs:d|_i|_t��|_d|_d|_d|_t�	|t
j�dS)Nr)�_key�_cache�	threading�Lock�_lock�	_listener�_address�_threadr�register_after_forkr-�
_afterfork)rrrrr?s
z_ResourceSharer.__init__cCsf|j�&|jdur
|��|jd7_||f|j|j<|j|jfWd�S1s,wYdS)z+Register resource, returning an identifier.Nr)r2r4�_startr.r/)rrrrrrrHs

$�z_ResourceSharer.registercCs<ddlm}|\}}||t��jd�}|�|t��f�|S)z<Return connection from which to receive identified resource.r��Client��authkey)�
connectionr:r�current_processr<rr*�getpid)�identr:�address�key�crrrrQs
z_ResourceSharer.get_connectionNcCs�ddlm}|j�[|jdur\||jt��jd�}|�d�|��|j	�
|�|j	��r2t�
d�|j��d|_	d|_d|_|j��D]	\}\}}|�qE|j��Wd�dSWd�dS1sgwYdS)z:Stop the background thread and clear registered resources.rr9Nr;z._ResourceSharer thread did not stop when asked)r=r:r2r4rr>r<rrr5�join�is_aliver�sub_warningr3r/�items�clear)r�timeoutr:rCrBrrrrrrZs*
�



�"�z_ResourceSharer.stopcCs\|j��D]	\}\}}|�q|j��|j��|jdur#|j��d|_d|_d|_dSr
)	r/rGrHr2�_at_fork_reinitr3rr4r5)rrBrrrrrr7os




z_ResourceSharer._afterforkcCsjddlm}|jdusJd��t�d�|t��jd�|_|jj|_	t
j|jd�}d|_
|��||_dS)Nr)�ListenerzAlready have Listenerz0starting listener and thread for sending handlesr;)�targetT)r=rKr3r�debugrr>r<rAr4r0�Thread�_serve�daemon�startr5)rrK�trrrr8zs


z_ResourceSharer._startcCs�ttd�rt�tjt���	zD|j���5}|��}|dur(	Wd�WdS|\}}|j�	|�\}}z
|||�W|�n|�wWd�n1sMwYWnt
��sbtj
t���Yq)N�pthread_sigmask)�hasattr�signalrS�	SIG_BLOCK�
valid_signalsr3�accept�recvr/�popr�
is_exiting�sys�
excepthook�exc_info)rr
�msgrB�destination_pidrrrrrrO�s*
���
��z_ResourceSharer._server
)r"r#r$r%rr�staticmethodrrr7r8rOrrrrr-=s		

r-)r*rUrr\r0�r�contextrr�__all__�platform�objectrr&r-rrrrrr�<module>s"



\


Page not found | The NCLEX Doctor

Page not found!

Sorry, this page is not available...