
    /hh8                         S SK rS SKrS SKrS SKrS SKrS SKrS SKrS SKJ	r	  S SK
Jr  \R                  (       d  \R                  " S5      e " S S\	5      rS r\S:X  a  \R"                  " 5         gg)	    N)ForkWait)supportz$test module requires working os.forkc                        \ rS rSrS rS rSrg)ForkTest   c                   ^^^^	 [         R                  " 5       mSmSm	SmUUUU	4S jn[         R                  " US9nUR                  5         TR	                  5         Sn[
        R                  " 5       n U(       d^  [        T5      nUT:X  a  [
        R                  " U5        OU[        R                  S:  a  [        S5        [
        R                  " S5        OUR                  5         U R                  XCS	9   [
        R                  " U[        R                   5        g ! ["         a     g f = f!  [
        R                  " U[        R                   5        f ! ["         a     f f = f= f)
Nzfake test modulepartialcompletec                     > [         R                  " 5         T[        R                  T'   TR	                  5         [
        R                  " S5        T [        R                  T'   [         R                  " 5         g )Ng{Gz?)impacquire_locksysmodulessettimesleeprelease_lock)complete_modulefake_module_nameimport_startedpartial_modules   8/opt/python-3.13.8/usr/lib/python3.13/test/test_fork1.pyimporter9ForkTest.test_threaded_import_lock_fork.<locals>.importer   sQ    ,:CKK() JJt,;CKK()    )target*      z Child encountered partial moduleexitcode)	threadingEventThreadstartwaitosfork
__import___exitr   verboseprintjoin	wait_implkillsignalSIGKILLOSError)
selfr   tr    pidmr   r   r   r   s
         @@@@r   test_threaded_import_lock_fork'ForkTest.test_threaded_import_lock_fork   s   "*-"$	 	 H-		ggi	 /0'HHX&*@AHHQK s6V^^, V^^, sC   5BD0 :%D   
D-,D-0E(2%EE(
E%"E($E%%E(c                 N   ^ ^ SmUU 4S jn[        S5       H  nU" U5        M     g )Nr   c                 8  > SnSn  [        U 5       H  n[        R                  " 5         US-  nM     [        R                  " 5       nU(       + n[        U5       H  n[        R
                  " 5         M     U(       a  [        R                  " T5        TR                  UTS9  g ! [        U5       H  n[        R
                  " 5         M     f = f! [         a>    U(       a5  [        R                  S:  a  [        S5        [        R                  " S5        e f = f)Nr   Fr   zRuntimeError in childr   )ranger   r   r&   r'   r   RuntimeErrorr   r*   r+   r)   r-   )levelreleasein_childir4   r    r2   s        r   fork_with_import_lockDForkTest.test_nested_import_lock_fork.<locals>.fork_with_import_lockE   s    GH+"5\((*1 * '')C#&wH"7^((* , "NN3N2 #7^((* , *56HHQKs   AB% 'C %)CC AD   )r:   )r2   r@   r<   r    s   `  @r   test_nested_import_lock_fork%ForkTest.test_nested_import_lock_forkA   s%    	32 1XE!%( r    N)__name__
__module____qualname____firstlineno__r6   rC   __static_attributes__rE   r   r   r   r      s    (V)r   r   c                  .    [         R                  " 5         g )N)r   reap_childrenrE   r   r   tearDownModulerM   b   s    r   __main__)_impr   r&   r/   r   r!   r   unittesttest.fork_waitr   testr   has_fork_supportSkipTestr   rM   rF   mainrE   r   r   <module>rV      sk     	  
    #  


B
CCJ)x J)Z zMMO r   