
    F\h	                     D    S SK r S SKrS SKrSSKJr  S/r " S S\5      rg)    N   )utilPopenc                   l    \ rS rSrSrS rS r\R                  4S jr	SS jr
S rS	 rS
 rS rS rSrg)r      forkc                 l    [         R                  " 5         S U l        S U l        U R	                  U5        g N)r   _flush_std_streams
returncode	finalizer_launch)selfprocess_objs     1/usr/lib/python3.13/multiprocessing/popen_fork.py__init__Popen.__init__   s(    ![!    c                     U$ r
    )r   fds     r   duplicate_for_childPopen.duplicate_for_child   s    	r   c                     U R                   cN   [        R                  " U R                  U5      u  p#X R                  :X  a  [        R
                  " U5      U l         U R                   $ ! [         a     g f = fr
   )r   oswaitpidpidOSErrorwaitstatus_to_exitcode)r   flagr   stss       r   poll
Popen.poll   sd    ??"::dhh5
 hh"$";";C"@   s   #A( (
A54A5Nc                     U R                   cN  Ub   SSKJn  U" U R                  /U5      (       d  g U R	                  US:X  a  [
        R                  5      $ S5      $ U R                   $ )Nr   )waitg        )r   multiprocessing.connectionr%   sentinelr"   r   WNOHANG)r   timeoutr%   s      r   r%   
Popen.wait%   sV    ??"";T]]OW55997c>RZZAAqAAr   c                     U R                   c#   [        R                  " U R                  U5        g g ! [         a     g [
         a    U R                  SS9c  e  g f = f)Ng?)r)   )r   r   killr   ProcessLookupErrorr   r%   )r   sigs     r   _send_signalPopen._send_signal/   s]    ??"#& # &  99S9)1 2s   !2 
AAAc                 B    U R                  [        R                  5        g r
   )r/   signalSIGTERMr   s    r   	terminatePopen.terminate9       &..)r   c                 B    U R                  [        R                  5        g r
   )r/   r2   SIGKILLr4   s    r   r,   
Popen.kill<   r7   r   c                    Sn[         R                  " 5       u  p4[         R                  " 5       u  pV[         R                  " 5       U l        U R                  S:X  a   [        R
                  " 5         [        R                  " [        R                  5        [         R                  " U5        [         R                  " U5        UR                  US9n[        R                  " 5         [         R                  " U5        g [         R                  " U5        [         R                  " U5        [        R                  " U [        R                  X645      U l        X0l        g ! [        R                  " 5         [         R                  " U5        f = f)Nr   r   )parent_sentinel)r   piper   r   atexit_clearregisterr   _exit_functionclose
_bootstrap_run_exitfuncs_exitFinalize	close_fdsr   r'   )r   r   codeparent_rchild_wchild_rparent_ws          r   r   Popen._launch?   s    GGIGGI77988q= 3 34"""--g-F%%'HHWHHW!]]4,4+@BDN$M %%'s   A4E -Fc                 @    U R                   b  U R                  5         g g r
   )r   r4   s    r   rB   Popen.closeU   s    >>%NN &r   )r   r   r   r'   r
   )__name__
__module____qualname____firstlineno__methodr   r   r   r(   r"   r%   r/   r5   r,   r   rB   __static_attributes__r   r   r   r   r      s=    F" 

 
**%,r   )r>   r   r2    r   __all__objectr   r   r   r   <module>rY      s&     	  )JF Jr   