MINI MINI MANI MO

Path : /usr/lib64/python3.6/multiprocessing/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/multiprocessing/__pycache__/popen_spawn_win32.cpython-36.pyc

3


 \@sddlZddlZddlZddlZddlZddlmZmZmZddl	m
Z
ddl	mZdgZdZ
ejdkoreed	d
ZejjjdZGdddeZdS)
N)	reductionget_spawning_popenset_spawning_popen)spawn)utilPopeniZwin32frozenFzpythonservice.exec@s>eZdZdZdZddZddZddd	Zd
dZdd
Z	dS)rz@
    Start a subprocess to run the code of a process object
    rcCstj|j}tjdd\}}tj|d}tjtj	|d}dj
dd|D}t|ddd}y4tjtj
|ddd	dddd	\}}	}
}tj|	Wntj|YnX|
|_d|_||_t||_tj|tj|jft|ztj||tj||WdtdXWdQRXdS)
Nr)Z
parent_pidZpipe_handle css|]}d|VqdS)z"%s"N).0xrr9/usr/lib64/python3.6/multiprocessing/popen_spawn_win32.py	<genexpr>)sz!Popen.__init__.<locals>.<genexpr>wbT)closefdF)rZget_preparation_data_name_winapiZ
CreatePipemsvcrtZopen_osfhandleZget_command_lineosgetpidjoinopenZ
CreateProcessZget_executableZCloseHandlepid
returncode_handleintsentinelrZFinalizerrdump)selfZprocess_objZ	prep_dataZrhandleZwhandleZwfdcmdZto_childZhpZhtrtidrrr__init__ s2


zPopen.__init__cCs|tksttj||jS)N)rAssertionErrorrZ	duplicater)rZhandlerrrduplicate_for_childEszPopen.duplicate_for_childNcCst|jdkrn|dkrtj}ntdt|dd}tjt|j|}|tjkrntj|j}|t	krht
j}||_|jS)Nrig?)rrZINFINITEmaxrZWaitForSingleObjectrZ
WAIT_OBJECT_0ZGetExitCodeProcess	TERMINATEsignalSIGTERM)rtimeoutZmsecsrescoderrrwaitIs

z
Popen.waitcCs|jddS)Nr)r))r,)rrrrpollYsz
Popen.pollcCsL|jdkrHytjt|jtWn&tk
rF|jdddkrBYnXdS)Ng?)r))rrZTerminateProcessrrr&OSErrorr,)rrrr	terminate\s
zPopen.terminate)N)
__name__
__module____qualname____doc__methodr"r$r,r-r/rrrrrs%
)rrr'sysrcontextrrrrr__all__r&platformgetattrZWINEXE
executablelowerendswithZ
WINSERVICEobjectrrrrr<module>s

OHA YOOOO