Your IP : 216.73.216.213


Current Path : /opt/alt/python36/lib64/python3.6/test/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/test/__pycache__/fork_wait.cpython-36.opt-2.pyc

3

��2a=
�@sVddlZddlZddlZddlZddljZejd�ZdZdZ	dZ
Gdd�dej�ZdS)�N�	threading�g�?�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�ForkWaitcCs tj�|_i|_d|_g|_dS)Nr)�supportZthreading_setup�_threading_key�alive�stop�threads)�self�r�./opt/alt/python36/lib64/python3.6/fork_wait.py�setUps
zForkWait.setUpcCs<d|_x|jD]}|j�qWd}|jj�tj|j�dS)N�)r	r
�join�clearrZthreading_cleanupr)r�threadrrr
�tearDowns
zForkWait.tearDowncCsBx<|js<tj�|j|<ytjt�Wqtk
r8YqXqWdS)N)r	�os�getpidr�time�sleep�
SHORTSLEEP�OSError)r�idrrr
�f&sz
ForkWait.fcCsjx:td�D].}tj|tj�\}}||kr*Ptjdt�q
W|j||�|j|dd|d@|d?f�dS)N�
rrzcause = %d, exit = %d��)�ranger�waitpid�WNOHANGrrr�assertEqual)r�cpid�iZspid�statusrrr
�	wait_impl.szForkWait.wait_implc	Csx6tt�D]*}tj|j|fd�}|j�|jj|�q
Wtj	�d}x*t
|j�tkrntjd�|tj	�krFPqFWt
|jj��}|j|ttt���|jj�}tjdkr�tj�}ntj�}|dk�rtjt�d}x(|jD]}|j|||kr�|d7}q�Wtj|�n
|j|�dS)N)�target�argsg$@g�������?�	unixware7rr)r))r�NUM_THREADSrZThreadr�startr
�appendrZ	monotonic�lenrr�sorted�keysr"�list�copy�sys�platformrZfork1�fork�	LONGSLEEP�_exitr&)	rr$rZdeadline�aZ
prefork_livesr#�n�keyrrr
�	test_wait:s.





zForkWait.test_waitN)�__name__�
__module__�__qualname__rrrr&r:rrrr
rs
	r)
rr2rZunittestZtest.supportr�
import_modulerr5rr*ZTestCaserrrrr
�<module>s