Your IP : 3.137.185.202


Current Path : /opt/alt/python35/lib64/python3.5/multiprocessing/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/multiprocessing/__pycache__/popen_forkserver.cpython-35.pyc



��Yf��@s�ddlZddlZddlmZejs=ed��ddlmZddlmZddlmZddlm	Z	dd	lm
Z
d
gZGdd�de�Z
Gd
d
�d
ej�ZdS)�N�)�	reductionz,No support for sending fds between processes)�context)�
forkserver)�
popen_fork)�spawn)�util�Popenc@s(eZdZdd�Zdd�ZdS)�_DupFdcCs
||_dS)N)�ind)�selfr�r
�E/opt/alt/python35/lib64/python3.5/multiprocessing/popen_forkserver.py�__init__sz_DupFd.__init__cCstj�|jS)N)rZget_inherited_fdsr)rr
r
r�detachsz
_DupFd.detachN)�__name__�
__module__�__qualname__rrr
r
r
rr
sr
csXeZdZdZeZ�fdd�Zdd�Zdd�Ze	j
dd	�Z�S)
r	rcsg|_t�j|�dS)N)�_fds�superr)r�process_obj)�	__class__r
rr"s	zPopen.__init__cCs!|jj|�t|j�dS)Nr)r�append�len)r�fdr
r
r�duplicate_for_child&szPopen.duplicate_for_childcCs�tj|j�}tj�}tj|�z$tj||�tj||�Wdtjd�Xt	j
|j�\|_}t
j|tj|jf�t|ddd��}|j|j��WdQRXt	j|j�|_dS)N�wb�closefdT)rZget_preparation_data�_name�io�BytesIOrZset_spawning_popenr�dumprZconnect_to_new_processr�sentinelrZFinalize�os�close�open�write�	getbuffer�
read_unsigned�pid)rrZ	prep_dataZbuf�w�fr
r
r�_launch*s
z
Popen._launchcCs�|jdkr�ddlm}|tjkr4dnd}||jg|�sSdSytj|j�|_Wn!tt	fk
r�d|_YnX|jS)Nr)�wait�)
�
returncodeZmultiprocessing.connectionr-r#�WNOHANGr"rr(�OSError�EOFError)rZflagr-Ztimeoutr
r
r�poll:sz
Popen.poll)rrr�methodr
ZDupFdrrr,r#r0r3r
r
)rrr	s)rr#�rZHAVE_SEND_HANDLE�ImportErrorrrrrr�__all__�objectr
r	r
r
r
r�<module>s		

?>