python (3.12.0)
ˑe 2 d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ej Z ej Z
ej Z G d d
ej ej Z G d d Zdddej fd
Zdddej ddZy))create_subprocess_execcreate_subprocess_shell N )events) protocols)streams)tasks)loggerc J e Zd Z fdZd Zd Zd Zd Zd Zd Z d Z
xZS ) SubprocessStreamProtocolc t | | || _ d x| _ x| _ | _ d | _ d| _ g | _ | j j | _ y )N)loopF)super__init___limitstdinstdoutstderr
_transport_process_exited _pipe_fds_loop
create_future
_stdin_closed)selflimitr __class__s F/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/asyncio/subprocess.pyr z!SubprocessStreamProtocol.__init__ sZ
d#155
5T[4;$!ZZ557 c l | j j g}| j |j d| j | j |j d| j | j
|j d| j
dj
dj | S )Nzstdin=zstdout=zstderr=z<{}> )r __name__r appendr r formatjoin)r infos r __repr__z!SubprocessStreamProtocol.__repr__ s ''(::!KK&/0;;"KK'$++12;;"KK'$++12}}SXXd^,,r c n || _ |j d }|ft j | j | j
| _ | j j | | j j d |j d }|ft j | j | j
| _
| j j | | j j d |j d }|)t j || d | j
| _ y y )Nr r r r )protocolreaderr )
r get_pipe_transportr StreamReaderr r r
set_transportr r# r StreamWriterr )r transportstdout_transportstderr_transportstdin_transports r connection_madez(SubprocessStreamProtocol.connection_made( s #$77:'!..T[[48JJ@DKKK%%&67NN!!!$$77:'!..T[[48JJ@DKKK%%&67NN!!!$#66q9& --o7;5937::?DJ 'r c x |dk( r
| j }n|dk( r
| j }nd }||j | y y Nr r* )r r feed_data)r fddatar, s r pipe_data_receivedz+SubprocessStreamProtocol.pipe_data_received@ s@
7[[F
1W[[FFT" r c |dk( rz| j }||j | j | || j j d y | j j | d| j _ y |dk( r
| j }n|dk( r
| j }nd }|$||j n|j | || j v r| j j | | j y )Nr Fr r* )
r closeconnection_lostr
set_result
set_exception_log_tracebackr r feed_eofr remove_maybe_close_transport)r r9 excpiper, s r pipe_connection_lostz-SubprocessStreamProtocol.pipe_connection_lostJ s
7::D
%{""--d3
""005 5:""1
7[[F
1W[[FF{!$$S)
NN!!"%##%r c 2 d| _ | j y )NT)r rD r s r process_exitedz'SubprocessStreamProtocol.process_exitedh s ###%r c t | j dk( r/| j r"| j j d | _ y y y )Nr )lenr r r r= rI s r rD z/SubprocessStreamProtocol._maybe_close_transportl s: t~~!#(<(<OO!!#"DO )=#r c 8 || j u r| j S y N)r r )r streams r _get_close_waiterz*SubprocessStreamProtocol._get_close_waiterq s TZZ%%% r )r"