Your IP : 216.73.217.129


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/fork_wait.cpython-38.opt-2.pyc

U

i�f
�@sVddlZddlZddlZddlZddlZddlmZdZdZdZ	Gdd�dej
�ZdS)�N�g�?�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�ForkWaitcCs t��|_i|_d|_g|_dS)Nr)�supportZthreading_setup�_threading_key�alive�stop�threads)�self�r�3/opt/alt/python38/lib64/python3.8/test/fork_wait.py�setUps
zForkWait.setUpcCs8d|_|jD]}|��qd}|j��tj|j�dS)N�)rr	�join�clearrZthreading_cleanupr)r
�threadrrr�tearDowns


zForkWait.tearDowncCs>|js:t��|j|<zt�t�Wqtk
r6YqXqdS)N)r�os�getpidr�time�sleep�
SHORTSLEEP�OSError)r
�idrrr�f&sz
ForkWait.fcCshtd�D]0}t�|tj�\}}||kr*q:t�dt�q|�||�|�|dd|d@|d?f�dS)N�
rrzcause = %d, exit = %d��)�ranger�waitpid�WNOHANGrrr�assertEqual)r
�cpid�iZspidZstatusrrr�	wait_impl.szForkWait.wait_implc	Cstt�D]*}tj|j|fd�}|��|j�|�qt�	�d}t
|j�tkrht�d�|t�	�kr@qhq@t
|j���}|�|ttt���|j��}tjdkr�t��}nt��}|dkr�t�t�d}|jD]}|j|||kr�|d7}q�t�|�n
|�|�dS)N)�target�argsg$@g�������?)Z	unixware7rr)r�NUM_THREADS�	threadingZThreadr�startr	�appendr�	monotonic�lenrr�sorted�keysr!�list�copy�sys�platformrZfork1�fork�	LONGSLEEP�_exitr$)	r
r#rZdeadline�aZ
prefork_livesr"�n�keyrrr�	test_wait:s.






zForkWait.test_waitN)�__name__�
__module__�__qualname__r
rrr$r9rrrrrs
	r)rr1rZunittestr(Ztest.supportrr4rr'ZTestCaserrrrr�<module>s