
     h                     |   d dl mZ d dlZd dlZd dlZd dlZd dlZddlmZ ddlm	Z	 ddlm
Z
 ddlmZ dgZd	Zej        d
k    o eedd          Zej                                                            d          Zej        d
k    r'	 d dlmZmZ ej        Zn# e$ r d dlmZmZ d ZY nw xY w G d de          ZdS )    )absolute_importN   )context)spawn)	reduction)_winapiPopeni   win32frozenFzpythonservice.exe)CreateProcessGetExitCodeProcessc                 .    |                                   d S N)Close)handles    V/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/billiard/popen_spawn_win32.pyclose_thread_handler   &   s    LLNNNNN    c                   @    e Zd ZdZdZdZd Zd Zd Zd
dZ	d Z
d	 ZdS )r	   z@
    Start a subprocess to run the code of a process object
    r   Nc                    dt           j        d<   t          j                     t          j        |j                  }t          j        d d          \  }}t          j	        |d          }t          j
        t          j                    |          }d                    d |D                       }t          j        |dd	          5 }	 t          t          j                    |d d d
dd d d 	  	        \  }}	}
}t#          |	           n#  t          j        |            xY w|
| _        d | _        || _        t-          |          | _        t1          j        |            	 t5          j        ||           t5          j        ||           t1          j        d            n# t1          j        d            w xY w	 d d d            d S # 1 swxY w Y   d S )N1MULTIPROCESSING_FORKING_DISABLEr   )
parent_pidpipe_handle c              3       K   | ]	}d |z  V  
dS )z"%s"N ).0xs     r   	<genexpr>z!Popen.__init__.<locals>.<genexpr><   s&      //avz//////r   wbT)closefdF)osenvironr   _Django_old_layout_hack__saveget_preparation_data_namer   
CreatePipemsvcrtopen_osfhandleget_command_linegetpidjoinioopenr   get_executabler   CloseHandlepid
returncode_handleintsentinelr   set_spawning_popenr   dump)selfprocess_obj	prep_datarhandlewhandlewfdcmdto_childhphtr2   tids               r   __init__zPopen.__init__1   s   8;
45+---.{/@AA	 #-dA66#GQ//$	18: : :hh//3/////WS$--- 	1#0(**C$q$d$< $< BS $B''''#G,,, DH"DODLGGDM &t,,,1y(333{H555*40000*400000/	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1sC   G<DGDA G*FGF22GG
Gc                 r    | j         /	 t          j        | j                    d | _         d S # d | _         w xY wd S r   )r6   r   r1   r9   s    r   closezPopen.closeW   sH    =$%#DM222 $$$$$	 %$s   + 	4c                 d    | t          j                    u sJ t          j        || j                  S r   )r   get_spawning_popenr   	duplicater6   )r9   r   s     r   duplicate_for_childzPopen.duplicate_for_child^   s1    w1333333"64=999r   c                 V   | j         |t          j        }n#t          dt	          |dz  dz                       }t          j        t	          | j                  |          }|t          j        k    r3t          | j                  }|t          k    rt          j         }|| _         | j         S )Nr   i  g      ?)r3   r   INFINITEmaxr5   WaitForSingleObjectr4   WAIT_OBJECT_0r   	TERMINATEsignalSIGTERM)r9   timeoutmsecsrescodes        r   waitz
Popen.waitb   s    ?"(As7T>C#78899-c$,.?.?GGCg+++)$,779$$"N?D"&r   c                 .    |                      d          S )Nr   rT   )rX   rF   s    r   pollz
Popen.pollr   s    yyy###r   c                     | j         W	 t          j        t          | j                  t
                     d S # t          $ r |                     d           Y d S w xY wd S )Ng      ?rZ   )r3   r   TerminateProcessr5   r4   rQ   OSErrorrX   rF   s    r   	terminatezPopen.terminateu   sw    ?"(T\):):IFFFFF   99S9))1 211 #"s   ,7 !AAr   )__name__
__module____qualname____doc__methodr6   rD   rG   rK   rX   r[   r_   r   r   r   r	   r	   *   s          FH$1 $1 $1L% % %: : :    $ $ $    r   )
__future__r   r.   r#   r)   rR   sys r   r   r   compatr   __all__rQ   platformgetattrWINEXE
executablelowerendswith
WINSERVICEr   r   r1   r   ImportError_subprocessobjectr	   r   r   r   <module>rt      s   & & & & & & 				 				   



                        ) 	
,'
!
Cggc8U&C&C^!!##,,-@AA
 <7========%1   AAAAAAAA	 	 	 	 	Q Q Q Q QF Q Q Q Q Qs   B B+*B+