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/asyncio/__pycache__/base_subprocess.cpython-310.opt-1.pyc
o

�i�"�@sxddlZddlZddlZddlmZddlmZddlmZGdd�dej�Z	Gdd	�d	ej
�ZGd
d�deej�Z
dS)�N�)�	protocols)�
transports)�loggercs�eZdZ	d0�fdd�	Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	e
jfdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Z�ZS)1�BaseSubprocessTransportNc
	st��|
�d|_||_||_d|_d|_d|_g|_t	�
�|_i|_d|_
|tjkr0d|jd<|tjkr:d|jd<|tjkrDd|jd<z|jd||||||d�|��Wn|���|jj|_|j|jd<|j��r�t|ttf�rx|}n|d}t�d||j�|j�|�|	��dS)	NFrr�)�args�shell�stdin�stdout�stderr�bufsize�
subprocesszprocess %r created: pid %s�)�super�__init__�_closed�	_protocol�_loop�_proc�_pid�_returncode�
_exit_waiters�collections�deque�_pending_calls�_pipes�	_finishedr�PIPE�_start�close�pidZ_extra�	get_debug�
isinstance�bytes�strr�debugZcreate_task�_connect_pipes)
�self�loop�protocolrr	r
rrr
�waiter�extra�kwargsZprogram��	__class__r�4/usr/local/lib/python3.10/asyncio/base_subprocess.pyrsH






�
�

�z BaseSubprocessTransport.__init__cCs|jjg}|jr
|�d�|jdur|�d|j���|jdur*|�d|j���n|jdur5|�d�n|�d�|j�d�}|durM|�d|j���|j�d�}|j�d	�}|durk||urk|�d
|j���n|durx|�d|j���|dur�|�d|j���d
�	d�
|��S)N�closedzpid=zreturncode=�runningznot startedrzstdin=rrzstdout=stderr=zstdout=zstderr=z<{}>� )r/�__name__r�appendrrr�get�pipe�format�join)r(�infor
rrrrr0�__repr__7s,





z BaseSubprocessTransport.__repr__cKst��N)�NotImplementedError)r(rr	r
rrr
r-rrr0rTszBaseSubprocessTransport._startcC�
||_dSr<�r)r(r*rrr0�set_protocolW�
z$BaseSubprocessTransport.set_protocolcC�|jSr<r?�r(rrr0�get_protocolZ�z$BaseSubprocessTransport.get_protocolcCrBr<)rrCrrr0�
is_closing]rEz"BaseSubprocessTransport.is_closingcCs�|jrdSd|_|j��D]}|durq
|j��q
|jdurI|jdurK|j��durM|j�	�r6t
�d|�z|j��WdSt
yHYdSwdSdSdS)NTz$Close running child process: kill %r)rr�valuesr7r rr�pollrr"r�warning�kill�ProcessLookupError)r(�protorrr0r `s(


��zBaseSubprocessTransport.closecCs*|js|d|��t|d�|��dSdS)Nzunclosed transport )�source)r�ResourceWarningr )r(�_warnrrr0�__del__{s�zBaseSubprocessTransport.__del__cCrBr<)rrCrrr0�get_pid�rEzBaseSubprocessTransport.get_pidcCrBr<)rrCrrr0�get_returncode�rEz&BaseSubprocessTransport.get_returncodecCs||jvr|j|jSdSr<)rr7)r(�fdrrr0�get_pipe_transport�s
z*BaseSubprocessTransport.get_pipe_transportcCs|jdurt��dSr<)rrKrCrrr0�_check_proc�s
�z#BaseSubprocessTransport._check_proccCs|��|j�|�dSr<)rUr�send_signal)r(�signalrrr0rV�sz#BaseSubprocessTransport.send_signalcC�|��|j��dSr<)rUr�	terminaterCrrr0rY��z!BaseSubprocessTransport.terminatecCrXr<)rUrrJrCrrr0rJ�rZzBaseSubprocessTransport.killc	
�s|�zr�j}�j}|jdur"|��fdd�|j�IdH\}}|�jd<|jdur<|��fdd�|j�IdH\}}|�jd<|jdurV|��fdd�|j�IdH\}}|�jd<|��j	j
���jD]
\}}|j|g|�R�qad�_Wn7tt
fy}�ty�}z"|dur�|��s�|�|�WYd}~dSWYd}~dSWYd}~dSd}~ww|dur�|��s�|�d�dSdSdS)Nc�
t�d�S)Nr)�WriteSubprocessPipeProtorrCrr0�<lambda>��
z8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>rcr[)Nr��ReadSubprocessPipeProtorrCrr0r]�r^rcr[)Nrr_rrCrr0r]�r^r)rrr
Zconnect_write_piperrZconnect_read_piper�	call_soonr�connection_mader�
SystemExit�KeyboardInterrupt�
BaseException�	cancelled�
set_exception�
set_result)	r(r+�procr)�_r7�callback�data�excrrCr0r'�sJ�

�


�


�

����z&BaseSubprocessTransport._connect_pipescGs6|jdur|j�||f�dS|jj|g|�R�dSr<)rr5rra)r(�cbrlrrr0�_call�s
zBaseSubprocessTransport._callcCs|�|jj||�|��dSr<)rorZpipe_connection_lost�_try_finish)r(rSrmrrr0�_pipe_connection_lost�sz-BaseSubprocessTransport._pipe_connection_lostcCs|�|jj||�dSr<)rorZpipe_data_received)r(rSrlrrr0�_pipe_data_received�sz+BaseSubprocessTransport._pipe_data_receivedcCsp|j��rt�d||�||_|jjdur||j_|�|jj	�|�
�|jD]}|��s2|�
|�q'd|_dS)Nz%r exited with return code %r)rr"rr:rr�
returncoderorZprocess_exitedrprrfrh)r(rsr+rrr0�_process_exited�s


�
z'BaseSubprocessTransport._process_exitedc�s2�|jdur	|jS|j��}|j�|�|IdHS)zdWait until the process exit and return the process return code.

        This method is a coroutine.N)rrZ
create_futurerr5)r(r+rrr0�_wait�s�


zBaseSubprocessTransport._waitcCsB|jdurdStdd�|j��D��rd|_|�|jd�dSdS)Ncss�|]
}|duo
|jVqdSr<)�disconnected)�.0�prrr0�	<genexpr>�s��z6BaseSubprocessTransport._try_finish.<locals>.<genexpr>T)r�allrrGrro�_call_connection_lostrCrrr0rp�s
��z#BaseSubprocessTransport._try_finishcCs:z|j�|�Wd|_d|_d|_dSd|_d|_d|_wr<)r�connection_lostrr�r(rmrrr0r{�s
�z-BaseSubprocessTransport._call_connection_lost)NN)r4�
__module__�__qualname__rr;rr@rDrFr �warnings�warnrPrQrRrTrUrVrYrJr'rorqrrrtrurpr{�
__classcell__rrr.r0r
s2�+&	rc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)r\cCs||_||_d|_d|_dS)NF)rirSr7rv)r(rirSrrr0rs
z!WriteSubprocessPipeProto.__init__cCr>r<)r7)r(Z	transportrrr0rbrAz(WriteSubprocessPipeProto.connection_madecCs d|jj�d|j�d|j�d�S)N�<z fd=z pipe=�>)r/r4rSr7rCrrr0r;
s z!WriteSubprocessPipeProto.__repr__cCs d|_|j�|j|�d|_dS)NT)rvrirqrSr}rrr0r|
s
z(WriteSubprocessPipeProto.connection_lostcC�|jj��dSr<)rir�
pause_writingrCrrr0r��z&WriteSubprocessPipeProto.pause_writingcCr�r<)rir�resume_writingrCrrr0r�r�z'WriteSubprocessPipeProto.resume_writingN)	r4r~rrrbr;r|r�r�rrrr0r\�sr\c@seZdZdd�ZdS)r`cCs|j�|j|�dSr<)rirrrS)r(rlrrr0�
data_receivedsz%ReadSubprocessPipeProto.data_receivedN)r4r~rr�rrrr0r`sr`)rrr��rr�logrZSubprocessTransportrZBaseProtocolr\ZProtocolr`rrrr0�<module>sv�