Your IP : 3.149.214.32


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

3


 \	�@s>ddlZddlZddlZddlmZdgZGdd�de�ZdS)�N�)�util�Popenc@sHeZdZdZdd�Zdd�Zejfdd�Zdd	d
�Z	dd�Z
d
d�ZdS)r�forkcCstj�d|_|j|�dS)N)rZ_flush_std_streams�
returncode�_launch)�self�process_obj�r
�"/usr/lib64/python3.6/popen_fork.py�__init__szPopen.__init__cCs|S)Nr
)r�fdr
r
r�duplicate_for_childszPopen.duplicate_for_childcCs�|jdkr�x>ytj|j|�\}}Wn tk
rB}zdSd}~XqXPqW||jkr�tj|�rntj|�|_ntj|�s|t�tj	|�|_|jS)N)
r�os�waitpid�pid�OSError�WIFSIGNALED�WTERMSIG�	WIFEXITED�AssertionError�WEXITSTATUS)r�flagr�sts�er
r
r�polls


z
Popen.pollNcCsN|jdkrH|dk	r0ddlm}||jg|�s0dS|j|dkrBtjnd�S|jS)Nr)�waitg)rZmultiprocessing.connectionr�sentinelrr�WNOHANG)r�timeoutrr
r
rr+s
z
Popen.waitcCs\|jdkrXytj|jtj�Wn8tk
r2Yn&tk
rV|jdd�dkrR�YnXdS)Ng�������?)r)	rr�killr�signal�SIGTERM�ProcessLookupErrorrr)rr
r
r�	terminate5s
zPopen.terminatecCs�d}tj�\}}tj�|_|jdkrdz0tj|�dtjkrJddl}|j�|j	�}Wdtj
|�Xn"tj|�tj|tj|f�||_
dS)Nrr�random)r�piperr�close�sys�modulesr%Zseed�
_bootstrap�_exitrZFinalizer)rr	�codeZparent_rZchild_wr%r
r
rr?s




z
Popen._launch)N)�__name__�
__module__�__qualname__�methodrrrrrrr$rr
r
r
rr
s


)rr(r!�r�__all__�objectrr
r
r
r�<module>s