grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ´i¶ã@sŠddlZddlZddlmZmZejs.edƒ‚ddlmZddlm Z ddlm Z ddlm Z d gZ Gd d „d e ƒZGd d „d e jƒZdS) éNé)Ú reductionÚset_spawning_popenz,No support for sending fds between processes)Ú forkserver)Ú popen_fork)Úspawn)ÚutilÚPopenc@seZdZdd„Zdd„ZdS)Ú_DupFdcCs ||_dS©N)Úind)Úselfr ©rú8/usr/lib64/python3.9/multiprocessing/popen_forkserver.pyÚ__init__sz_DupFd.__init__cCst ¡|jSr )rZget_inherited_fdsr )r rrrÚdetachsz _DupFd.detachN)Ú__name__Ú __module__Ú __qualname__rrrrrrr sr csBeZdZdZeZ‡fdd„Zdd„Zdd„Ze j fdd „Z ‡Z S) r rcsg|_tƒ |¡dSr )Ú_fdsÚsuperr)r Ú process_obj©Ú __class__rrr!szPopen.__init__cCs|j |¡t|jƒdS)Nr)rÚappendÚlen)r ÚfdrrrÚduplicate_for_child%s zPopen.duplicate_for_childcCsÎt |j¡}t ¡}t|ƒz$t ||¡t ||¡Wtdƒn tdƒ0t  |j ¡\|_ }t   |¡}t |tj||j f¡|_t|ddd��}| | ¡¡Wdƒn1s²0Yt |j ¡|_dS)NÚwbT)Úclosefd)rZget_preparation_dataÚ_nameÚioÚBytesIOrrÚdumprZconnect_to_new_processrÚsentinelÚosÚduprÚFinalizeÚ close_fdsÚ finalizerÚopenÚwriteÚ getbufferÚ read_signedÚpid)r rZ prep_dataÚbufÚwZ _parent_wÚfrrrÚ_launch)s    ÿ,z Popen._launchc Csp|jdurjddlm}|tjkr$dnd}||jg|ƒs:dSzt |j¡|_Wntt fyhd|_Yn0|jS)Nr)Úwaitéÿ) Ú returncodeÚmultiprocessing.connectionr3r%ÚWNOHANGr$rr-ÚOSErrorÚEOFError)r Úflagr3ÚtimeoutrrrÚpoll=s   z Popen.poll) rrrÚmethodr ÚDupFdrrr2r%r7r<Ú __classcell__rrrrr s  )r!r%ÚcontextrrÚHAVE_SEND_HANDLEÚ ImportErrorÚrrrrÚ__all__Úobjectr r rrrrÚs