Viewing File: /opt/alt/python35/lib64/python3.5/multiprocessing/__pycache__/popen_fork.cpython-35.pyc



©ÕYf	ã@sWddlZddlZddlZddlmZdgZGdd„deƒZdS)éNé)ÚutilÚPopenc@sgeZdZdZdd„Zdd„Zejdd„Zdd	d
„Z	dd„Z
d
d„ZdS)rÚforkcCs4tjjƒtjjƒd|_|j|ƒdS)N)ÚsysÚstdoutÚflushÚstderrÚ
returncodeÚ_launch)ÚselfÚprocess_obj©rú?/opt/alt/python35/lib64/python3.5/multiprocessing/popen_fork.pyÚ__init__s

	zPopen.__init__cCs|S)Nr)rÚfdrrrÚduplicate_for_childszPopen.duplicate_for_childcCsÄ|jdkr½xPytj|j|ƒ\}}Wn)tk
r\}z	dSWYdd}~XqXPqW||jkr½tj|ƒr–tj|ƒ|_n'tj|ƒs«t‚tj	|ƒ|_|jS)N)
r
ÚosÚwaitpidÚpidÚOSErrorÚWIFSIGNALEDÚWTERMSIGÚ	WIFEXITEDÚAssertionErrorÚWEXITSTATUS)rZflagrÚstsÚerrrÚpollsz
Popen.pollNcCsm|jdkrf|dk	rDddlm}||jg|ƒsDdS|j|dkr_tjndƒS|jS)Nr)Úwaitg)r
Zmultiprocessing.connectionrÚsentinelrrÚWNOHANG)rÚtimeoutrrrrr,s"z
Popen.waitcCsn|jdkrjytj|jtjƒWn>tk
r=Yn-tk
ri|jddƒdkre‚YnXdS)Nr"gš™™™™™¹?)	r
rÚkillrÚsignalÚSIGTERMÚProcessLookupErrorrr)rrrrÚ	terminate6s

zPopen.terminatecCs¿d}tjƒ\}}tjƒ|_|jdkrŒzBtj|ƒdtjkrkddl}|jƒ|j	ƒ}Wdtj
|ƒXn/tj|ƒtj|tj|fƒ||_
dS)NrrÚrandom)rÚpiperrÚcloserÚmodulesr(ZseedÚ
_bootstrapÚ_exitrZFinalizer )rr
ÚcodeZparent_rZchild_wr(rrrr@s


z
Popen._launch)Ú__name__Ú
__module__Ú__qualname__Úmethodrrrr!rrr'rrrrrr
s

)rrr$ÚrÚ__all__ÚobjectrrrrrÚ<module>s
	
Back to Directory File Manager