
    h                         S SK r S SKrSSKJr  SSKJr  SSKJr  SSKJr  SSKJr  S/r	 " S	 S
5      r
 " S S\R                  5      rg)    N   )context)
popen_fork)	reduction)spawn)spawnv_passfdsPopenc                        \ rS rSrS rS rSrg)_DupFd   c                     Xl         g Nfdselfr   s     BD:\TimeStamps\venv\Lib\site-packages\billiard/popen_spawn_posix.py__init___DupFd.__init__   s        c                     U R                   $ r   r   )r   s    r   detach_DupFd.detach   s    wwr   r   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__ r   r   r   r      s    r   r   c                   <   ^  \ rS rSrSr\rU 4S jrS rS r	Sr
U =r$ )r	      r   c                 2   > / U l         [        TU ]	  U5        g r   )_fdssuperr   )r   process_obj	__class__s     r   r   Popen.__init__#   s    	%r   c                 <    U R                   R                  U5        U$ r   )r#   appendr   s     r   duplicate_for_childPopen.duplicate_for_child'   s    			r   c                 ~   S[         R                  S'   [        R                  " 5         SSKJn  UR                  5       nU R                  R                  U5        [        R                  " UR                  5      n[        R                  " 5       n[        R                  " U 5         [        R                   " XE5        [        R                   " X5        [        R                  " S 5        S =n=n=p [         R"                  " 5       u  pg[         R"                  " 5       u  p[        R$                  " UUS9n
U R                  R'                  X/5        [)        [        R*                  " 5       XR                  5      U l        X`l        [        R0                  " U	SSS9 nUR3                  UR5                  5       5        S S S 5        XU	4 H  nUc  M  [         R6                  " U5        M      g ! [        R                  " S 5        f = f! , (       d  f       NP= f! XU	4 H  nUc  M  [         R6                  " U5        M      f = f)	N1MULTIPROCESSING_FORKING_DISABLEr   )semaphore_tracker)
tracker_fdpipe_handlewbF)closefd)osenvironr   _Django_old_layout_hack__save r/   getfdr#   r)   get_preparation_data_nameioBytesIOr   set_spawning_popenr   dumppipeget_command_lineextendr   get_executablepidsentinelopenwritegetvalueclose)r   r%   r/   r0   	prep_datafpparent_rchild_wchild_rparent_wcmdfr   s                r   _launchPopen._launch+   s   8;

45++-'&,,.
		$..{/@/@A	ZZ\""4(	-NN9)NN;+&&t,266676W	! "	H "	G((J5<>CIIg/0%$$&YYDH %M471& 8 2>HHRL 3! &&t, 87 2>HHRL 3s7   &,G( 0B)H  H9H (H 
HH 	H<!H<)r#   rC   rD   )r   r   r   r   methodr   DupFdr   r*   rQ   r   __classcell__)r&   s   @r   r	   r	      s!    FE&! !r   )r;   r4   r7   r   r   r   r   compatr   __all__r   r	   r   r   r   <module>rX      s=    	 	     ") +!J +!r   