Your IP : 3.141.14.210
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
�2/usr/lib64/python3.6/multiprocessing/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}~XqXPqW||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__�methodrrrrrrr$rr
r
r
rr
s
)rr(r!�r�__all__�objectrr
r
r
r�<module>s
?>