o
0is
@ s. d Z ddlZG dd dZdd Zdd ZdS ) z
Basic subprocess implementation for POSIX which only uses os functions. Only
implement features required by setup.py to build C extension modules when
subprocess is unavailable. setup.py is not used on Windows.
Nc @ s e Zd ZdddZdd ZdS )PopenNc C s || _ || _d | _d S N)_cmd_env
returncode)selfcmdenv r
6/opt/alt/python310/lib64/python3.10/_bootsubprocess.py__init__ s
zPopen.__init__c C s t }|dkr=z.| jd urt | jd | j| j nt | jd | j W t d | j S W t d | j S t d w t |d\}}t || _ | j S )Nr )
osforkr execver execv_exitwaitpidwaitstatus_to_exitcoder )r pid_statusr
r
r wait s
z
Popen.waitr )__name__
__module____qualname__r r r
r
r
r r s
r c C s g }dD ]\}}t t|t|d D ] }|t| qq|d d|}t| ttfr2| }nt| tr;| g}ndS |D ]}t|tsI dS |sN dS |D ]
}||vrZ dS qPq?dS )N))az)AZ)09r
z./- FT) rangeordappendchrjoin
isinstancetupleliststr)r Z
safe_charsfirstZlastZchZ
check_strsargr
r
r
_check_cmd$ s.
r. c K s |rt t|t| std| d}t| tsd| } | d| } zQt| }t |}|r=td| d|zt
|d}| }W d n1 sRw Y W n tyc d}Y nw W zt
| W |S tyw Y |S w zt
| W w ty Y w w ) Nzunsupported command: zcheck_output.tmp z >zCommand z returned non-zero exit status rb )NotImplementedErrorreprr.
ValueErrorr( r+ r' r systemr openreadFileNotFoundErrorunlinkOSError)r kwargsZtmp_filenamer Zexitcodefpstdoutr
r
r check_outputB sH
r> )__doc__r r r. r> r
r
r
r