HEX
Server: Apache
System: FreeBSD www860.sakura.ne.jp 13.0-RELEASE-p14 FreeBSD 13.0-RELEASE-p14 #2: Mon Dec 9 13:54:55 JST 2024 root@www5301.sakura.ne.jp:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64
User: yoyo0427 (1306)
PHP: 8.3.8
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.8/multiprocessing/__pycache__/resource_sharer.cpython-38.opt-2.pyc
U

q��a��@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�stop�win32�	DupSocketc@seZdZdd�Zdd�ZdS)rcs(|����fdd�}t�|�j�|_dS)Ncs��|�}|�|�dS�N)�share�
send_bytes)�conn�pidr
�Znew_sock��;/usr/local/lib/python3.8/multiprocessing/resource_sharer.py�sends
z DupSocket.__init__.<locals>.send)�dup�_resource_sharer�register�close�_id)�self�sockrrrr�__init__szDupSocket.__init__c
Cs6t�|j�� }|��}t�|�W5QR�SQRXdSr	)r�get_connectionr�
recv_bytes�socketZ	fromshare)rrr
rrr�detach$szDupSocket.detachN��__name__�
__module__�__qualname__rrrrrrrs�DupFdc@seZdZdd�Zdd�ZdS)r"cs4t�|���fdd�}�fdd�}t�||�|_dS)Ncst�|�|�dSr	)r�send_handle)rr
�Znew_fdrrr1szDupFd.__init__.<locals>.sendcst���dSr	)�osrrr$rrr3szDupFd.__init__.<locals>.close)r%rrrr)r�fdrrrr$rr/s
zDupFd.__init__c
Cs.t�|j��}t�|�W5QR�SQRXdSr	)rrrr�recv_handle)rrrrrr7szDupFd.detachNrrrrrr"-sc@sJeZdZdd�Zdd�Zedd��Zddd	�Zd
d�Zdd
�Z	dd�Z
dS)�_ResourceSharercCs@d|_i|_g|_t��|_d|_d|_d|_t	�
|tj�dS)Nr)
�_key�_cache�
_old_locks�	threading�Lock�_lock�	_listener�_address�_threadr�register_after_forkr(�
_afterfork)rrrrr?s
z_ResourceSharer.__init__c
CsZ|j�J|jdkr|��|jd7_||f|j|j<|j|jfW5QR�SQRXdS)Nr)r.r0�_startr)r*)rrrrrrrIs
z_ResourceSharer.registercCs<ddlm}|\}}||t��jd�}|�|t��f�|S)Nr��Client��authkey)�
connectionr6r�current_processr8rr%�getpid)�identr6�address�key�crrrrRs
z_ResourceSharer.get_connectionNc	Cs�ddlm}|j��|jdk	r�||jt��jd�}|�d�|��|j	�
|�|j	��rdt�
d�|j��d|_	d|_d|_|j��D]\}\}}|�q�|j��W5QRXdS)Nrr5r7z._ResourceSharer thread did not stop when asked)r9r6r.r0rr:r8rrr1�join�is_aliver�sub_warningr/r*�items�clear)r�timeoutr6r?r>rrrrrr[s$
�



z_ResourceSharer.stopcCsj|j��D]\}\}}|�q
|j��|j�|j�t��|_|jdk	rT|j�	�d|_d|_
d|_dSr	)r*rCrDr+�appendr.r,r-r/rr0r1)rr>rrrrrr3ps



z_ResourceSharer._afterforkcCsXddlm}t�d�|t��jd�|_|jj|_	t
j|jd�}d|_
|��||_dS)Nr)�Listenerz0starting listener and thread for sending handlesr7)�targetT)r9rGr�debugrr:r8r/r=r0r,�Thread�_serve�daemon�startr1)rrG�trrrr4~s

z_ResourceSharer._startc	Cs�ttd�rt�tjt���zh|j���T}|��}|dkrHW5QR�Wq�|\}}|j�	|�\}}z|||�W5|�XW5QRXWqt
��s�tj
t���YqXqdS)N�pthread_sigmask)�hasattr�signalrO�	SIG_BLOCK�
valid_signalsr/�accept�recvr*�popr�
is_exiting�sys�
excepthook�exc_info)rr�msgr>�destination_pidrrrrrrK�s
z_ResourceSharer._serve)N)rr r!rr�staticmethodrrr3r4rKrrrrr(=s
	

r()r%rQrrXr,�r�contextrr�__all__�platform�objectrr"r(rrrrrr�<module>s 


`