
    h	                     B    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   )TERM_SIGNALPopenc                   d    \ rS 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g)r      forkNc                     [         R                  R                  5         [         R                  R                  5         S U l        U R                  U5        g N)sysstdoutflushstderr
returncode_launch)selfprocess_objs     ;D:\TimeStamps\venv\Lib\site-packages\billiard/popen_fork.py__init__Popen.__init__   s5    



[!    c                     U$ r
    )r   fds     r   duplicate_for_childPopen.duplicate_for_child   s    	r   c                 
   U R                   c    [        R                  " U R                  U5      u  p# X R                  :X  a{  [        R                  " U5      (       a(  [        R                  " U5      * U l         U R                   $ [        R                  " U5      (       d   e[        R                  " U5      U l         U R                   $ ! [         a.  nUR
                  [
        R                  :X  a   S nAM   S nAg S nAff = fr
   )r   oswaitpidpidOSErrorerrnoEINTRWIFSIGNALEDWTERMSIG	WIFEXITEDWEXITSTATUS)r   flagr   stses        r   poll
Popen.poll   s    ??"	!zz$((D9HC hh>>#&&'){{3'7&7DO  <<,,,,&(nnS&9DO   ww%++-    s   #C
 

DC==Dc                     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   )r   
connectionr-   sentinelr*   r   WNOHANG)r   timeoutr-   s      r   r-   
Popen.wait0   sV    ??"",T]]OW55997c>RZZAAqAAr   c                    U R                   c'   [        R                  " U R                  [        5        g g ! [
         a?  n[        USS 5      [        R                  :w  a  U R                  SS9c  e  S nAg  S nAg S nAff = f)Nr!   g?)r1   )
r   r   killr   r   r    getattrr!   ESRCHr-   )r   excs     r   	terminatePopen.terminate:   sm    ??"+. #  3.%++=yyy-5 6 >s   %6 
A? 0A::A?c                    Sn[         R                  " 5       u  p4[         R                  " 5       U l        U R                  S:X  af   [         R                  " U5        S[
        R                  ;   a  SS KnUR                  5         UR                  5       n[         R                  " U5        g [         R                  " U5        X0l        g ! [         R                  " U5        f = f)Nr   r   random)r   piper   r   closer   modulesr;   seed
_bootstrap_exitr/   )r   r   codeparent_rchild_wr;   s         r   r   Popen._launchC   s    GGI77988q="s{{*!KKM"--/HHW$M s   AC Cc                     U R                   b)   [        R                  " U R                   5        S U l         g g ! S U l         f = fr
   )r/   r   r=   )r   s    r   r=   Popen.closeT   s8    ==$%' $	 % !%s	    8 	A)r   r   r/   r
   )__name__
__module____qualname____firstlineno__methodr/   r   r   r   r0   r*   r-   r8   r   r=   __static_attributes__r   r   r   r   r      s8    FH" 

 *%"%r   )r   r   r!   commonr   __all__r   r   r   r   <module>rP      s$    	 
  )K% K%r   