MINI MINI MANI MO

Path : /lib64/python3.6/asyncio/__pycache__/
File Upload :
Current File : //lib64/python3.6/asyncio/__pycache__/base_subprocess.cpython-36.opt-1.pyc

3


 \#@sddlZddlZddlZddlmZddlmZddlmZddlmZddl	m
Z
Gdd	d	ejZGd
ddej
ZGdd
d
eejZdS)N)compat)	protocols)
transports)	coroutine)loggercseZdZd0fdd	ZddZddZdd	Zd
dZdd
ZddZ	e
jrTddZddZ
ddZddZddZddZddZddZed d!Zd"d#Zd$d%Zd&d'Zd(d)Zed*d+Zd,d-Zd.d/ZZS)1BaseSubprocessTransportNc
s&tj|
d|_||_||_d|_d|_d|_g|_t	j
|_i|_d|_
|tjkr`d|jd<|tjkrtd|jd<|tjkrd|jd<y"|jf||||||d|Wn|jYnX|jj|_|j|jd<|jjrt|ttfr|}n|d}tjd||j|jj|j|	dS)NFrr)argsshellstdinstdoutstderrbufsize
subprocesszprocess %r created: pid %s)super__init___closed	_protocol_loop_proc_pid_returncode
_exit_waiterscollectionsdeque_pending_calls_pipes	_finishedrPIPE_startclosepidZ_extra	get_debug
isinstancebytesstrrdebugZcreate_task_connect_pipes)
selfloopprotocolr
rrr
rrwaiterZextrakwargsZprogram)	__class__//usr/lib64/python3.6/asyncio/base_subprocess.pyrs@








z BaseSubprocessTransport.__init__cCs|jjg}|jr|jd|jdk	r4|jd|j|jdk	rP|jd|jn |jdk	rf|jdn
|jd|jjd}|dk	r|jd|j|jjd}|jjd	}|dk	r||kr|jd
|jn0|dk	r|jd|j|dk	r|jd|jd
dj	|S)Nclosedzpid=%sz
returncode=%sZrunningznot startedrzstdin=%srr	zstdout=stderr=%sz	stdout=%sz	stderr=%sz<%s> )
r.__name__rappendrrrgetpipejoin)r)inforr
rr/r/r0__repr__9s,





z BaseSubprocessTransport.__repr__cKstdS)N)NotImplementedError)r)r
rrr
rrr-r/r/r0r VszBaseSubprocessTransport._startcCs
||_dS)N)r)r)r+r/r/r0set_protocolYsz$BaseSubprocessTransport.set_protocolcCs|jS)N)r)r)r/r/r0get_protocol\sz$BaseSubprocessTransport.get_protocolcCs|jS)N)r)r)r/r/r0
is_closing_sz"BaseSubprocessTransport.is_closingcCs|jr
dSd|_x&|jjD]}|dkr*q|jjqW|jdk	r|jdkr|jjdkr|jj	rpt
jd|y|jjWnt
k
rYnXdS)NTz$Close running child process: kill %r)rrvaluesr6r!rrZpollrr#rZwarningkillProcessLookupError)r)protor/r/r0r!bs 


zBaseSubprocessTransport.closecCs&|js"tjd|t|d|jdS)Nzunclosed transport %r)source)rwarningswarnResourceWarningr!)r)r/r/r0__del__szBaseSubprocessTransport.__del__cCs|jS)N)r)r)r/r/r0get_pidszBaseSubprocessTransport.get_pidcCs|jS)N)r)r)r/r/r0get_returncodesz&BaseSubprocessTransport.get_returncodecCs||jkr|j|jSdSdS)N)rr6)r)fdr/r/r0get_pipe_transports
z*BaseSubprocessTransport.get_pipe_transportcCs|jdkrtdS)N)rr@)r)r/r/r0_check_procs
z#BaseSubprocessTransport._check_proccCs|j|jj|dS)N)rKrsend_signal)r)signalr/r/r0rLsz#BaseSubprocessTransport.send_signalcCs|j|jjdS)N)rKr	terminate)r)r/r/r0rNsz!BaseSubprocessTransport.terminatecCs|j|jjdS)N)rKrr?)r)r/r/r0r?szBaseSubprocessTransport.killc	#sPyj}j}|jdk	rB|jfdd|jEdH\}}|jd<|jdk	rv|jfdd|jEdH\}}|jd<|jdk	r|jfdd|jEdH\}}|jd<|jj	j
x"jD]\}}|j|f|qWd_WnDtk
r*}z&|dk	r|j
r|j|WYdd}~Xn"X|dk	rL|j
rL|jddS)Ncs
tdS)Nr)WriteSubprocessPipeProtor/)r)r/r0<lambda>sz8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>rcs
tdS)Nr)ReadSubprocessPipeProtor/)r)r/r0rPsrcs
tdS)Nr	)rQr/)r)r/r0rPsr	)rrrZconnect_write_piperr
Zconnect_read_piper	call_soonrconnection_mader	Exception	cancelledZ
set_exception
set_result)	r)r,procr*_r6callbackdataexcr/)r)r0r(s6









z&BaseSubprocessTransport._connect_pipescGs2|jdk	r|jj||fn|jj|f|dS)N)rr4rrR)r)cbrZr/r/r0_calls
zBaseSubprocessTransport._callcCs|j|jj|||jdS)N)r]rZpipe_connection_lost_try_finish)r)rIr[r/r/r0_pipe_connection_lostsz-BaseSubprocessTransport._pipe_connection_lostcCs|j|jj||dS)N)r]rZpipe_data_received)r)rIrZr/r/r0_pipe_data_receivedsz+BaseSubprocessTransport._pipe_data_receivedcCst|jjrtjd||||_|jjdkr2||j_|j|jj	|j
x |jD]}|jsP|j
|qPWd|_dS)Nz%r exited with return code %r)rr#rr8rr
returncoder]rZprocess_exitedr^rrUrV)r)rar,r/r/r0_process_exiteds
z'BaseSubprocessTransport._process_exitedccs0|jdk	r|jS|jj}|jj||EdHS)zdWait until the process exit and return the process return code.

        This method is a coroutine.N)rrZ
create_futurerr4)r)r,r/r/r0_waits


zBaseSubprocessTransport._waitcCs>|jdkrdStdd|jjDr:d|_|j|jddS)Ncss|]}|dk	o|jVqdS)N)disconnected).0pr/r/r0	<genexpr>sz6BaseSubprocessTransport._try_finish.<locals>.<genexpr>T)rallrr>rr]_call_connection_lost)r)r/r/r0r^s
z#BaseSubprocessTransport._try_finishcCs*z|jj|Wdd|_d|_d|_XdS)N)rconnection_lostrr)r)r[r/r/r0ris
z-BaseSubprocessTransport._call_connection_lost)NN)r3
__module____qualname__rr9r r;r<r=r!rZPY34rFrGrHrJrKrLrNr?rr(r]r_r`rbrcr^ri
__classcell__r/r/)r.r0rs0)%	rc@s<eZdZddZddZddZddZd	d
ZddZd
S)rOcCs||_||_d|_d|_dS)NF)rWrIr6rd)r)rWrIr/r/r0rsz!WriteSubprocessPipeProto.__init__cCs
||_dS)N)r6)r)Z	transportr/r/r0rSsz(WriteSubprocessPipeProto.connection_madecCsd|jj|j|jfS)Nz<%s fd=%s pipe=%r>)r.r3rIr6)r)r/r/r0r9sz!WriteSubprocessPipeProto.__repr__cCs d|_|jj|j|d|_dS)NT)rdrWr_rI)r)r[r/r/r0rjsz(WriteSubprocessPipeProto.connection_lostcCs|jjjdS)N)rWr
pause_writing)r)r/r/r0rnsz&WriteSubprocessPipeProto.pause_writingcCs|jjjdS)N)rWrresume_writing)r)r/r/r0rosz'WriteSubprocessPipeProto.resume_writingN)	r3rkrlrrSr9rjrnror/r/r/r0rOsrOc@seZdZddZdS)rQcCs|jj|j|dS)N)rWr`rI)r)rZr/r/r0
data_received$sz%ReadSubprocessPipeProto.data_receivedN)r3rkrlrpr/r/r/r0rQ!srQ)rrrCrrrZ
coroutinesrlogrZSubprocessTransportrZBaseProtocolrOZProtocolrQr/r/r/r0<module>s{

OHA YOOOO