U ,a @s6ddlZddlZddlmZdgZGdddeZdS)N)utilPopenc@s`eZdZdZddZddZejfddZdd d Z d d Z d dZ ddZ ddZ ddZdS)rforkcCs"td|_d|_||dSN)rZ_flush_std_streams returncode finalizer_launch)self process_objr ?/opt/alt/python38/lib64/python3.8/multiprocessing/popen_fork.py__init__szPopen.__init__cCs|Srr )r fdr r r duplicate_for_childszPopen.duplicate_for_childc Cs|jdkrzzt|j|\}}Wn(tk rH}z WYdSd}~XYnX||jkrzt|rnt| |_n t||_|jSr)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|jdkrVzt|j|Wn8tk r0Yn&tk rT|jdddkrPYnXdS)Ng?)r)rrkillrProcessLookupErrorrr)r Zsigr r r _send_signal2s zPopen._send_signalcCs|tjdSr)r"signalSIGTERMr r r r terminate<szPopen.terminatecCs|tjdSr)r"r#SIGKILLr%r r r r ?sz Popen.killc Csd}t\}}t\}}t|_|jdkrdz$t|t||j|d}W5t|Xn0t|t|t|tj ||f|_ ||_ dS)Nrr)Zparent_sentinel) rpiperr_exitclose _bootstraprZFinalizeZ close_fdsrr)r r codeZparent_rZchild_wZchild_rZparent_wr r r r Bs          z Popen._launchcCs|jdk r|dSr)rr%r r r r*Us z Popen.close)N)__name__ __module__ __qualname__methodrrrrrrr"r&r r r*r r r r r s  )rr#r__all__objectrr r r r s