HEX
Server: Apache/2.4.62 (Debian)
System: Linux MIA-VPS-VM01781 5.10.0-32-amd64 #1 SMP Debian 5.10.223-1 (2024-08-10) x86_64
User: webmaster (1001)
PHP: 8.2.29
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //lib/python3.7/multiprocessing/__pycache__/popen_spawn_win32.cpython-37.pyc
B

U��e��@s�ddlZddlZddlZddlZddlZddlmZmZmZddl	m
Z
ddl	mZdgZdZ
ejdkoreed	d
�Zej���d�Zdd
�Zeed�o�eejej�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.7/multiprocessing/popen_spawn_win32.py�_path_eqsr�_base_executablecGsx|D]}t�|�qWdS)N)�_winapi�CloseHandle)Zhandles�handler
r
r�_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CsPt�|j�}t�dd�\}}t�|d�}tjt�	�|d�}d�
dd�|D��}t��}tr�t
|tj�r�tj}tj��}tj|d<nd}t|ddd	���}	y0t�|||dd
dddd�	\}
}}}
t�|�Wnt�|��YnX||_d|_|
|_t|
�|_t�|tj|jf�|_t|�zt� ||	�t� ||	�Wdtd�XWdQRXdS)Nr)Z
parent_pidZpipe_handle� css|]}d|VqdS)z"%s"Nr
)�.0�xr
r
r�	<genexpr>6sz!Popen.__init__.<locals>.<genexpr>Z__PYVENV_LAUNCHER__�wbT)�closefdF)!rZget_preparation_data�_namerZ
CreatePipe�msvcrtZopen_osfhandleZget_command_liner
�getpid�joinZget_executable�WINENVr�sys�
executabler�environ�copy�openZ
CreateProcessr�pid�
returncode�_handle�int�sentinelrZFinalize�	finalizerrr�dump)�selfZprocess_objZ	prep_dataZrhandleZwhandleZwfd�cmdZ
python_exe�envZto_childZhpZhtr%�tidr
r
r�__init__-s>



zPopen.__init__cCs|t�kst�t�||j�S)N)r�AssertionErrorrZ	duplicater))r,rr
r
r�duplicate_for_child]szPopen.duplicate_for_childNcCst|jdkrn|dkrtj}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,�timeoutZmsecsZres�coder
r
r�waitas

z
Popen.waitcCs|jdd�S)Nr)r7)r9)r,r
r
r�pollqsz
Popen.pollcCsL|jdkrHyt�t|j�t�Wn&tk
rF|jdd�dkrB�YnXdS)Ng�?)r7)r&rZTerminateProcessr(r'r4�OSErrorr9)r,r
r
r�	terminatets
zPopen.terminatecCs|��dS)N)r*)r,r
r
r�close~szPopen.close)N)�__name__�
__module__�__qualname__�__doc__�methodr0r2r9r:r<�killr=r
r
r
rr's0
)r
rr5r r�contextrrr�rr�__all__r4�platform�getattrZWINEXEr!�lower�endswithZ
WINSERVICEr�hasattrrrr�objectrr
r
r
r�<module>s