uawdijnntqw1x1x1
IP : 52.15.241.87
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
/
.
/
..
/
lib64
/
python3.6
/
multiprocessing
/
__pycache__
/
.
/
resource_sharer.cpython-36.opt-1.pyc
/
/
3 \��@s�ddlZddlZddlZddlZddlZddlmZddlmZddlm Z dgZ ejdkrxe dg7Z Gd d�de�Z ne d g7Z Gdd �d e�ZGdd �d e�Ze�ZejZdS)�N�)�process)� reduction)�util�stopZwin32� DupSocketc@s eZdZdZdd�Zdd�ZdS)rzPicklable wrapper for a socket.cs(|j���fdd�}tj|�j�|_dS)Ncs�j|�}|j|�dS)N)�shareZ send_bytes)�conn�pidr)�new_sock��7/usr/lib64/python3.6/multiprocessing/resource_sharer.py�sends z DupSocket.__init__.<locals>.send)�dup�_resource_sharer�register�close�_id)�selfZsockrr)rr �__init__szDupSocket.__init__c Cs*tj|j��}|j�}tj|�SQRXdS)z1Get the socket. This should only be called once.N)r�get_connectionrZ recv_bytes�socketZ fromshare)rr rrrr �detach$szDupSocket.detachN)�__name__� __module__�__qualname__�__doc__rrrrrr rs�DupFdc@s eZdZdZdd�Zdd�ZdS)rz-Wrapper for fd which can be used at any time.cs4tj|���fdd�}�fdd�}tj||�|_dS)Ncstj|�|�dS)N)rZsend_handle)r r )�new_fdrr r1szDupFd.__init__.<locals>.sendcstj��dS)N)�osrr)rrr r3szDupFd.__init__.<locals>.close)rrrrr)r�fdrrr)rr r/s zDupFd.__init__c Cs"tj|j��}tj|�SQRXdS)z-Get the fd. This should only be called once.N)rrrrZrecv_handle)rr rrr r7szDupFd.detachN)rrrrrrrrrr r-sc@sNeZdZdZdd�Zdd�Zedd��Zdd d �Zdd�Z d d�Z dd�ZdS)�_ResourceSharerz-Manager for resouces using background thread.cCs@d|_i|_g|_tj�|_d|_d|_d|_t j |tj�dS)Nr) �_key�_cache� _old_locks� threading�Lock�_lock� _listener�_address�_threadrZregister_after_forkr!� _afterfork)rrrr r?s z_ResourceSharer.__init__c CsN|j�>|jdkr|j�|jd7_||f|j|j<|j|jfSQRXdS)z+Register resource, returning an identifier.Nr)r'r)�_startr"r#)rrrrrr rIs z_ResourceSharer.registercCs<ddlm}|\}}||tj�jd�}|j|tj�f�|S)z<Return connection from which to receive identified resource.r)�Client)�authkey)� connectionr-r�current_processr.rr�getpid)Zidentr-�address�key�crrr rRs z_ResourceSharer.get_connectionNcCs�ddlm}|j��|jdk r�||jtj�jd�}|jd�|j�|j j |�|j j�rdtj d�|jj�d|_ d|_d|_x |jj�D]\}\}}|�q�W|jj�WdQRXdS)z:Stop the background thread and clear registered resources.r)r-N)r.z._ResourceSharer thread did not stop when asked)r/r-r'r)rr0r.rrr*�joinZis_aliverZsub_warningr(r#�items�clear)rZtimeoutr-r4r3rrrrr r[s" z_ResourceSharer.stopcCsnx |jj�D]\}\}}|�qW|jj�|jj|j�tj�|_|jdk rX|jj �d|_d|_ d|_dS)N)r#r6r7r$�appendr'r%r&r(rr)r*)rr3rrrrr r+ps z_ResourceSharer._afterforkcCsXddlm}tjd�|tj�jd�|_|jj|_ t j|jd�}d|_ |j�||_dS)Nr)�Listenerz0starting listener and thread for sending handles)r.)�targetT)r/r9r�debugrr0r.r(r2r)r%ZThread�_serveZdaemon�startr*)rr9�trrr r,~s z_ResourceSharer._startcCs�ttd�r tjtjtdtj��x�y\|jj��H}|j�}|dkrBP|\}}|j j |�\}}z|||�Wd|�XWdQRXWq"tj�s�t jt j��Yq"Xq"WdS)N�pthread_sigmaskr)�hasattr�signalr?� SIG_BLOCK�range�NSIGr(ZacceptZrecvr#�poprZ is_exiting�sys� excepthook�exc_info)rr �msgr3Zdestination_pidrrrrr r<�s z_ResourceSharer._serve)N)rrrrrr�staticmethodrrr+r,r<rrrr r!=s r!)rrArrFr%�r�contextrr�__all__�platform�objectrrr!rrrrrr �<module>s `
/home/./../lib64/python3.6/multiprocessing/__pycache__/./resource_sharer.cpython-36.opt-1.pyc