Your IP : 3.141.201.46


Current Path : /opt/alt/python34/lib64/python3.4/multiprocessing/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/multiprocessing/__pycache__/popen_spawn_posix.cpython-34.pyc

�
e f{�@s�ddlZddlZddlmZddlmZddlmZddlmZddlmZdgZGd	d
�d
e	�Z
Gdd�dej�ZdS)�N�)�context)�
popen_fork)�	reduction)�spawn)�util�Popenc@s(eZdZdd�Zdd�ZdS)�_DupFdcCs
||_dS)N)�fd)�selfr
�r�F/opt/alt/python34/lib64/python3.4/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	sr	csFeZdZdZeZ�fdd�Zdd�Zdd�Z�S)rrcsg|_t�j|�dS)N)�_fds�superr)r�process_obj)�	__class__rr
rs	zPopen.__init__cCs|jj|�|S)N)r�append)rr
rrr
�duplicate_for_child#szPopen.duplicate_for_childc
Cs�ddlm}|j�}|jj|�tj|j�}tj	�}t
j|�z$tj
||�tj
||�Wdt
jd�Xd}}}}	z�tj�\}}tj�\}}	tjd|d|�}
|jj||g�tjtj�|
|j�|_||_t|	ddd��}|j|j��WdQXWd|dk	rztj|tj|f�nx3|||	fD]"}|dk	r�tj|�q�q�WXdS)Nr)�semaphore_tracker�
tracker_fdZpipe_handle�wb�closefdF)�rZgetfdrrrZget_preparation_data�_name�io�BytesIOrZset_spawning_popenr�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.rr)rr
rs
)rr"rrrrrr�__all__�objectr	rrrrr
�<module>s	

?>