
    hF	                     <    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     Q/home/james-whalen/.local/lib/python3.13/site-packages/multiprocess/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   multiprocess.connectionr%   sentinelr"   r   WNOHANG)r   timeoutr%   s      r   r%   
Popen.wait$   sV    ??""8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.terminate8       &..)r   c                 B    U R                  [        R                  5        g r
   )r/   r2   SIGKILLr4   s    r   r,   
Popen.kill;   r7   r   c                 P   Sn[         R                  " 5       u  p4[         R                  " 5       u  pV[         R                  " 5       U l        U R                  S:X  aS   [         R                  " U5        [         R                  " U5        UR                  US9n[         R                  " U5        g [         R                  " U5        [         R                  " U5        [        R                  " U [        R                  X645      U l
        X0l        g ! [         R                  " U5        f = f)Nr   r   )parent_sentinel)r   piper   r   close
_bootstrap_exitr   Finalize	close_fdsr   r'   )r   r   codeparent_rchild_wchild_rparent_ws          r   r   Popen._launch>   s    GGIGGI77988q="""--g-FHHWHHW!]]4,4+@BDN$M s   ;D D%c                 @    U R                   b  U R                  5         g g r
   )r   r4   s    r   r>   Popen.closeQ   s    >>%NN &r   )r   r   r   r'   r
   )__name__
__module____qualname____firstlineno__methodr   r   r   r(   r"   r%   r/   r5   r,   r   r>   __static_attributes__r   r   r   r   r      s=    F" 

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