B :J>\bC@s>ddlZddlZddlZddlmZdgZGdddeZdS)N)utilPopenc@s`eZdZdZddZddZejfddZdd d Z d d Z d dZ ddZ ddZ ddZdS)rforkcCs"td|_d|_||dS)N)rZ_flush_std_streams returncode finalizer_launch)self process_objr =/opt/alt/python37/lib/python3.7/multiprocessing/popen_fork.py__init__szPopen.__init__cCs|S)Nr )r fdr r r duplicate_for_childszPopen.duplicate_for_childc Csz|jdkrtyt|j|\}}Wn"tk rB}zdSd}~XYnX||jkrtt|rht| |_n t||_|jS)N)roswaitpidpidOSError WIFSIGNALEDWTERMSIG WEXITSTATUS)r flagrstser r r polls    z Popen.pollNcCsN|jdkrH|dk r0ddlm}||jg|s0dS||dkrBtjndS|jS)Nr)waitg)rZmultiprocessing.connectionrsentinelrrWNOHANG)r timeoutrr r r r)s  z Popen.waitcCsZ|jdkrVyt|j|Wn8tk r0Yn&tk rT|jdddkrPYnXdS)Ng?)r)rrkillrProcessLookupErrorrr)r Zsigr r r _send_signal3s zPopen._send_signalcCs|tjdS)N)r!signalSIGTERM)r r r r terminate=szPopen.terminatecCs|tjdS)N)r!r"SIGKILL)r r r r r@sz Popen.killc Csrd}t\}}t|_|jdkrJzt||}Wdt|Xn$t|t|tj|f|_ ||_ dS)Nrr) rpiperrclose _bootstrap_exitrZFinalizerr)r r codeZparent_rZchild_wr r r rCs      z Popen._launchcCs|jdk r|dS)N)r)r r r r r'Rs z Popen.close)N)__name__ __module__ __qualname__methodr rrrrrr!r$rrr'r r r r r s  )rsysr"r__all__objectrr r r r s