Your IP : 3.21.98.234


Current Path : /lib64/python3.6/multiprocessing/__pycache__/
Upload File :
Current File : //lib64/python3.6/multiprocessing/__pycache__/popen_spawn_posix.cpython-36.opt-2.pyc

3


 \p�@spddlZddlZddlmZmZddlmZddlmZddlmZdgZ	Gdd	�d	e
�ZGd
d�dej�ZdS)�N�)�	reduction�set_spawning_popen)�
popen_fork)�spawn)�util�Popenc@seZdZdd�Zdd�ZdS)�_DupFdcCs
||_dS)N)�fd)�selfr
�r�9/usr/lib64/python3.6/multiprocessing/popen_spawn_posix.py�__init__sz_DupFd.__init__cCs|jS)N)r
)rrrr
�detachsz
_DupFd.detachN)�__name__�
__module__�__qualname__rrrrrr
r	sr	cs4eZdZdZeZ�fdd�Zdd�Zdd�Z�Z	S)rrcsg|_t�j|�dS)N)�_fds�superr)r�process_obj)�	__class__rr
rszPopen.__init__cCs|jj|�|S)N)r�append)rr
rrr
�duplicate_for_child"szPopen.duplicate_for_childc
Cs@ddlm}|j�}|jj|�tj|j�}tj	�}t
|�ztj||�tj||�Wdt
d�Xd}}}}	z~t
j�\}}t
j�\}}	tj||d�}
|jj||g�tjtj�|
|j�|_||_t|	ddd��}|j|j��WdQRXWd|dk	�rtj|t
j|f�x(|||	fD]}|dk	�rt
j|��qWXdS)Nr)�semaphore_tracker)�
tracker_fdZpipe_handle�wbF)�closefd)�rZgetfdrrrZget_preparation_data�_name�io�BytesIOrr�dump�os�pipeZget_command_line�extendrZspawnv_passfdsZget_executable�pid�sentinel�open�write�	getbufferZFinalize�close)
rrrrZ	prep_data�fpZparent_rZchild_wZchild_rZparent_w�cmd�fr
rrr
�_launch&s6



z
Popen._launch)
rrr�methodr	ZDupFdrrr.�
__classcell__rr)rr
rs
)
rr"�contextrrrrrr�__all__�objectr	rrrrr
�<module>s