Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_fork1.cpython-312.pyc

�

'Μg8
����dZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZejsejd��Gd�de
�Zd�Zed	k(rej$�yy)
z.This test checks for correct fork() behavior.
�N)�ForkWait)�supportz$test module requires working os.forkc��eZdZd�Zd�Zy)�ForkTestc������	�tj��d�d�	d�����	fd�}tj|��}|j��j	�d}tj�}	|sZt��}|�k(rtj|�nWtjdkDrtd�tjd�n#|j�|j||�	�	tj|tj �y
#t"$rYy
wxYw#	tj|tj �w#t"$rYwwxYwxYw)zFCheck fork() in main thread works while a subthread is doing an importzfake test module�partial�completec����tj��tj�<�j	�tjd��tj�<tj�y)Ng{�G�z�?)�imp�acquire_lock�sys�modules�set�time�sleep�release_lock)�complete_module�fake_module_name�import_started�partial_modules�����,/usr/local/lib/python3.12/test/test_fork1.py�importerz9ForkTest.test_threaded_import_lock_fork.<locals>.importersQ�������,:�C�K�K�(�)���� ��J�J�t��,;�C�K�K�(�)�����)�target�*�z Child encountered partial module��exitcodeN)�	threading�Event�Thread�start�wait�os�fork�
__import__�_exitr�verbose�print�join�	wait_impl�kill�signal�SIGKILL�OSError)
�selfr�tr�pid�mrrrrs
      @@@@r�test_threaded_import_lock_forkz'ForkTest.test_threaded_import_lock_forks���"���*��-��"��$��	�
���H�-��	���	��������g�g�i��	���/�0����'��H�H�X�&�����*��@�A��H�H�Q�K��������s�X��6�
�����V�^�^�,���
��
��
�����V�^�^�,���
��
�sC�4A?D(�4$D�	D%�$D%�(E�*$E�E�	E�E�E�Ec�H���d���fd�}td�D]
}||��y)zJCheck fork() in main thread works while the main thread is doing an importrc���d}d}		t|�D]}tj�|dz
}�tj�}|}t|�D]}tj
��	|rtj���j|���y#t|�D]}tj
��wxYw#t$r7|r3tjdkDrtd�tjd��wxYw)NrFrzRuntimeError in childr)�rangerrr$r%r�RuntimeErrorrr(r)r'r+)�level�release�in_child�ir2rr0s     ��r�fork_with_import_lockzDForkTest.test_nested_import_lock_fork.<locals>.fork_with_import_lockEs�����G��H�
�+�"�5�\���(�(�*��1���*��'�'�)�C�#&�w�H�"�7�^���(�(�*�,������"��N�N�3��N�2��#�7�^���(�(�*�,���
������*��5�6��H�H�Q�K��
�s�AB�$C�&B>�>C�AD�N)r7)r0r=r9rs`  @r�test_nested_import_lock_forkz%ForkTest.test_nested_import_lock_forkAs%�����	3�2�1�X�E�!�%�(�rN)�__name__�
__module__�__qualname__r4r?�rrrrs
��(�V)rrc�,�tj�y)N)r�
reap_childrenrCrr�tearDownModulerFbs�����r�__main__)�__doc__�_imprr$r-r
rr�unittest�test.fork_waitr�testr�has_fork_support�SkipTestrrFr@�mainrCrr�<module>rPst����	�
�
����#�����
�(�
�
�B�
C�C�J)�x�J)�Z��z���H�M�M�O�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists