0 1ˆËÍ ƒ-=̾Р,1a ´iíã@spddlZddlZddlmZmZddlmZddlmZddlmZdgZ Gdd „d e ƒZ Gd d„dej ƒZ dS) éNé)Ú reductionÚset_spawning_popen)Ú popen_fork)Úspawn)ÚutilÚPopenc@seZdZdd„Zdd„ZdS)Ú_DupFdcCs ||_dS©N©Úfd©Úselfr ©rú9/usr/lib64/python3.9/multiprocessing/popen_spawn_posix.pyÚ__init__sz_DupFd.__init__cCs|jSr r )rrrrÚdetachsz _DupFd.detachN)Ú__name__Ú __module__Ú __qualname__rrrrrrr sr cs4eZdZdZeZ‡fdd„Zdd„Zdd„Z‡Z S)rrcsg|_tƒ |¡dSr )Ú_fdsÚsuperr)rÚ process_obj©Ú __class__rrrszPopen.__init__cCs|j |¡|Sr )rÚappendr rrrÚduplicate_for_child"s zPopen.duplicate_for_childc CsÔddlm}| ¡}|j |¡t |j¡}t  ¡}t |ƒz$t   ||¡t   ||¡Wt dƒn t dƒ0d}}}} zòt  ¡\}}t  ¡\}} tj||d�} |j ||g¡t t ¡| |j¡|_||_t| ddd��} |  | ¡¡Wdƒn1�s0YWg} || fD]} | du�r|  | ¡�qt |tj| ¡|_||fD]} | du�rRt  | ¡�qRn`g} || fD]} | du�r||  | ¡�q|t |tj| ¡|_||fD]} | du�r²t  | ¡�q²0dS)Nr)Úresource_tracker)Ú tracker_fdZ pipe_handleÚwbF)Úclosefd)ÚrZgetfdrrrZget_preparation_dataÚ_nameÚioÚBytesIOrrÚdumpÚosÚpipeZget_command_lineÚextendrÚspawnv_passfdsZget_executableÚpidÚsentinelÚopenÚwriteÚ getbufferÚFinalizeÚ close_fdsÚ finalizerÚclose)rrrrZ prep_dataÚfpÚparent_rÚchild_wÚchild_rÚparent_wÚcmdÚfZ fds_to_closer rrrÚ_launch&sP      ÿ ÿ0    ø    z Popen._launch) rrrÚmethodr ÚDupFdrrr:Ú __classcell__rrrrrs  ) r#r&Úcontextrrr!rrrÚ__all__Úobjectr rrrrrÚs    3ˆËÍ ƒi¶›Ì¾ÐÁ3a ´i|!ã@s:ddlZddlmZddlZz ddlZWney>dZYn0ddlmZddlm Z ddl m Z ddl m Z zddlmZWney–dZYn0zddlmZWney¾dZYn0d d „Zd d „Zd"dd„Zd#dd„ZedgdfedgdfedgdfedgdfedgdfegdfdœZdd„Zd$d d!„ZdS)%éN)Úwarn)ÚDistutilsExecError)Úspawn)Úmkpath)Úlog)Úgetpwnam)ÚgetgrnamcCsLtdus|durdSz t|ƒ}Wnty6d}Yn0|durH|dSdS©Né)rÚKeyError©ÚnameÚresult©rú./usr/lib64/python3.9/distutils/archive_util.pyÚ_get_gids   rcCsLtdus|durdSz t|ƒ}Wnty6d}Yn0|durH|dSdSr )rr r rrrÚ_get_uid+s   rÚgzipcs6ddddddœ}dddd d œ}|dur:|| ¡vr:td ƒ‚|d } |d krZ| | |d¡7} ttj | ¡|d�ddl} t  d¡t ˆƒ‰t ˆƒ‰‡‡‡‡fdd„} |sà|   | d||¡} z| j || d�W|  ¡n |  ¡0|d k�r2tdtƒ| ||} tjdk�r|| | g}n |d| g}t||d�| S| S)NÚgzÚbz2ÚxzÚ)rÚbzip2rNÚcompressz.gzz.bz2z.xzz.Z)rrrrzKbad value for 'compress': must be None, 'gzip', 'bzip2', 'xz' or 'compress'z.tarr©Údry_runrzCreating tar archivecs,ˆdurˆ|_ˆ|_ˆdur(ˆ|_ˆ|_|S©N)ÚgidÚgnameÚuidÚuname)Útarinfo©rÚgroupÚownerrrrÚ _set_uid_gidasz"make_tarball.._set_uid_gidzw|%s)Úfilterz'compr