HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/multiprocessing/__pycache__/popen_spawn_win32.cpython-310.pyc
o

�i��@s�ddlZddlZddlZddlZddlZddlmZmZmZddl	m
Z
ddl	mZdgZdZ
ejdko9eed	d
�Zej���d�Zdd
�Zeejej�Zdd�ZGdd�de�ZdS)�N�)�	reduction�get_spawning_popen�set_spawning_popen)�spawn)�util�Popeni�win32�frozenFzpythonservice.execCs ||kptj�|�tj�|�kS�N)�os�path�normcase)Zp1Zp2�r�>/usr/local/lib/python3.10/multiprocessing/popen_spawn_win32.py�_path_eqs rcGs|D]}t�|�qdSr)�_winapi�CloseHandle)Zhandles�handlerrr�_close_handless�rc@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Cslt�|j�}t�dd�\}}t�|d�}tjt�	�|d�}d�
dd�|D��}t��}trAt
|tj�rAtj}tj��}tj|d<nd}t|ddd	��b}	zt�||ddd
d|dd�	\}
}}}
t�|�Wn	t�|��||_d|_|
|_t|
�|_t�|t|jt|�f�|_t|�zt �!||	�t �!||	�Wtd�ntd�wWd�dS1s�wYdS)Nr)Z
parent_pidZpipe_handle� css�|]}d|VqdS)z"%s"Nr)�.0�xrrr�	<genexpr>9s�z!Popen.__init__.<locals>.<genexpr>�__PYVENV_LAUNCHER__�wbT)�closefdF)"rZget_preparation_data�_namerZ
CreatePipe�msvcrt�open_osfhandleZget_command_liner�getpid�joinZget_executable�WINENVr�sys�
executable�_base_executable�environ�copy�openZ
CreateProcessr�pid�
returncode�_handle�int�sentinelr�Finalizer�	finalizerrr�dump)�self�process_objZ	prep_dataZrhandleZwhandleZwfd�cmdZ
python_exe�envZto_childZhpZhtr)�tidrrr�__init__,sH
�
�

�"�zPopen.__init__cCs|t�usJ�t�||j�Sr)rrZ	duplicater-)r1rrrr�duplicate_for_childaszPopen.duplicate_for_childNcCst|jdur7|dur
tj}ntdt|dd��}t�t|j�|�}|tjkr7t�|j�}|t	kr4t
j}||_|jS)Nri�g�?)r*rZINFINITE�maxr,ZWaitForSingleObjectr+Z
WAIT_OBJECT_0ZGetExitCodeProcess�	TERMINATE�signal�SIGTERM)r1�timeout�msecs�res�coderrr�waites

z
Popen.waitcCs|jdd�S)Nr�r<)r@�r1rrr�pollu�z
Popen.pollcCsN|jdur%zt�t|j�t�WdSty$|jdd�dur!�YdSwdS)Ng�?rA)r*rZTerminateProcessr,r+r9�OSErrorr@rBrrr�	terminatexs
���zPopen.terminatecCs|��dSr)r/rBrrr�close�rDzPopen.closer)�__name__�
__module__�__qualname__�__doc__�methodr6r7r@rCrF�killrGrrrrr&s5
)rrr:r#r�contextrrr�rr�__all__r9�platform�getattrZWINEXEr$�lower�endswithZ
WINSERVICErr%r"r�objectrrrrr�<module>s