gddlZddlZddlmZmZddlmZddlmZddlmZdgZ Gdd e Z Gd dejZ y) N) reductionset_spawning_popen) popen_fork)spawn)utilPopenceZdZdZdZy)_DupFdc||_yNfdselfrs H/opt/alt/python312/lib64/python3.12/multiprocessing/popen_spawn_posix.py__init__z_DupFd.__init__s c|jSr r)rs rdetachz _DupFd.detachs wwrN)__name__ __module__ __qualname__rrrrr r s rr c2eZdZdZeZfdZdZdZxZ S)r rc2g|_t| |yr )_fdssuperr)r process_obj __class__s rrzPopen.__init__s  %rc<|jj||Sr )rappendrs rduplicate_for_childzPopen.duplicate_for_child"s  rcddlm}|j}|jj |t j |j}tj}t| tj||tj||tddx}x}x}} tj\}}tj\}} t j||} |jj!||gt#j$t j&| |j|_||_t-| dd5} | j/|j1dddg} || fD]} | | j | t#j2|t"j4| |_||fD]} | tj8| y#tdwxYw#1swYxYw#g} || fD]} | | j | t#j2|t"j4| |_||fD]} | tj8| wxYw)Nr)resource_tracker) tracker_fd pipe_handlewbF)closefd)r%getfdrr"rget_preparation_data_nameioBytesIOrrdumpospipeget_command_lineextendrspawnv_passfdsget_executablepidsentinelopenwrite getbufferFinalize close_fds finalizerclose)rrr%r& prep_datafpparent_rchild_wchild_rparent_wcmdf fds_to_closers r_launchz Popen._launch&s&%++-  $..{/@/@A ZZ\4  % NN9b ) NN; + t $266676Wx ! " Hg " GX((J5<>C II  gw/ 0**5+?+?+A+. ;DH$DMhe4 '5L*> ''++"]]4NDN(>HHRL)+ t $54L*> ''++"]]4NDN(>HHRL)s>1,G31B/H HH3 HH H I;AI;#I;) rrrmethodr DupFdrr#rI __classcell__)r s@rr r s F E&"!r) r.r1contextrrr*rrr__all__objectr r rrrrPs< 2 )V.!J  .!r