HEX
Server: Apache/2.4.65 (Debian)
System: Linux kubikelcreative 5.10.0-35-amd64 #1 SMP Debian 5.10.237-1 (2025-05-19) x86_64
User: www-data (33)
PHP: 8.4.13
Disabled: NONE
Upload Files
File: //usr/lib/python3.9/multiprocessing/__pycache__/popen_spawn_win32.cpython-39.pyc
a

kx�g��@s�ddlZddlZddlZddlZddlZddlmZmZmZddl	m
Z
ddl	mZdgZdZ
ejdkoreed	d
�Zej���d�Zdd
�Zeejej�Zdd�ZGdd�de�ZdS)�N�)�	reduction�get_spawning_popen�set_spawning_popen)�spawn)�util�PopeniZwin32�frozenFzpythonservice.execCs ||kptj�|�tj�|�kS�N)�os�path�normcase)Zp1Zp2�r�7/usr/lib/python3.9/multiprocessing/popen_spawn_win32.py�_path_eqsrcGs|D]}t�|�qdSr
)�_winapi�CloseHandle)Zhandles�handlerrr�_close_handlessrc@sJeZdZdZdZdd�Zdd�Zddd	�Zd
d�Zdd
�Z	e	Z
dd�ZdS)rz@
    Start a subprocess to run the code of a process object
    rcCsrt�|j�}t�dd�\}}t�|d�}tjt�	�|d�}d�
dd�|D��}t��}tr�t
|tj�r�tj}tj��}tj|d<nd}t|ddd	���}	z0t�||ddd
d|dd�	\}
}}}
t�|�Wnt�|��Yn0||_d|_|
|_t|
�|_t�|t|jt|�f�|_t|�z$t �!||	�t �!||	�Wtd�n
td�0Wd�n1�sd0YdS)Nr)Z
parent_pidZpipe_handle� css|]}d|VqdS)z"%s"Nr)�.0�xrrr�	<genexpr>9�z!Popen.__init__.<locals>.<genexpr>Z__PYVENV_LAUNCHER__�wbT)�closefdF)"rZget_preparation_data�_namerZ
CreatePipe�msvcrtZopen_osfhandleZget_command_liner�getpid�joinZget_executable�WINENVr�sys�
executable�_base_executable�environ�copy�openZ
CreateProcessr�pid�
returncode�_handle�int�sentinelrZFinalizer�	finalizerrr�dump)�selfZprocess_objZ	prep_dataZrhandleZwhandleZwfd�cmdZ
python_exe�envZto_childZhpZhtr'�tidrrr�__init__,sF
�
�

�zPopen.__init__cCs|t�usJ�t�||j�Sr
)rrZ	duplicater+)r.rrrr�duplicate_for_childaszPopen.duplicate_for_childNcCst|jdurn|durtj}ntdt|dd��}t�t|j�|�}|tjkrnt�|j�}|t	krht
j}||_|jS)Nri�g�?)r(rZINFINITE�maxr*ZWaitForSingleObjectr)Z
WAIT_OBJECT_0ZGetExitCodeProcess�	TERMINATE�signal�SIGTERM)r.�timeoutZmsecs�res�coderrr�waites

z
Popen.waitcCs|jdd�S)Nr�r8)r;�r.rrr�pollusz
Popen.pollcCsJ|jdurFzt�t|j�t�Wn$tyD|jdd�dur@�Yn0dS)Ng�?r<)r(rZTerminateProcessr*r)r5�OSErrorr;r=rrr�	terminatexs
zPopen.terminatecCs|��dSr
)r,r=rrr�close�szPopen.close)N)�__name__�
__module__�__qualname__�__doc__�methodr2r3r;r>r@�killrArrrrr&s5
)rrr6r!r�contextrrr�rr�__all__r5�platform�getattrZWINEXEr"�lower�endswithZ
WINSERVICErr#r r�objectrrrrr�<module>s