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|jdkrzt|j|\}}Wn(tk rH}z WYdSd}~XYnX||jkrt|rnt| |_n$t|std |t ||_|jS)NzStatus is {:n}) roswaitpidpidOSError WIFSIGNALEDWTERMSIG WIFEXITEDAssertionErrorformat 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__methodrrrr!rrr%r)r#r r-r r r r r s  )rr&r__all__objectrr r r r s