grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ´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