@,bih1lSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK r SSK J r SSK J r SSK Jr SSK Jr SSK Jr SSK Jr /S QrS r\R("S 5r"S S \5rSSjrSrSrSr\"5r\R:r\R<r\R>r\R@r g)N) connection)process) reduction)resource_tracker)spawn)util)ensure_runningget_inherited_fdsconnect_to_new_processset_forkserver_preloadqc>\rSrSrSrSrSrSrSrSr Sr S r g ) ForkServer!cSUlSUlSUlSUl[R "5UlS/Ulg)N__main__)_forkserver_address_forkserver_alive_fd_forkserver_pid_inherited_fds threadingLock_lock_preload_modulesselfs A/opt/alt/python313/lib64/python3.13/multiprocessing/forkserver.py__init__ForkServer.__init__#s:#' $(!#"^^% !+ cpUR UR5 SSS5 g!,(df  g=fN)r_stop_unlockedrs r_stopForkServer._stop+s ZZ    !ZZs' 5cVURcg[R"UR5 SUl[R"URS5 SUl[ R "UR5(d [R"UR5 SUlg)Nr) roscloserwaitpidr is_abstract_socket_namespacerunlinkrs rr%ForkServer._stop_unlocked0sz    '  **+$(! 4''+#001I1IJJ IId.. /#' r"cT[SU55(d [S5eXlg)z>Set list of module names to try to load in forkserver process.c3D# UHn[U5[Lv M g7fr$)typestr).0mods r 4ForkServer.set_forkserver_preload..As=}49#}s z&module_names must be a list of stringsN)all TypeErrorr)r modules_namess rr !ForkServer.set_forkserver_preload?s%=}===DE E -r"cUR$)z|Return list of fds inherited from parent process. This returns None if the current process was not started by fork server. )rrs rr ForkServer.get_inherited_fdsEs """r"cUR5 [U5S-[:a [S5e[R"[R 5nUR UR5 [R"5up4[R"5upVXTUR[R"5/nXq- n[R"X'5 X64[R"U5 [R"U5 sSSS5 $! [R"U5 [R"U5 e=f![R"U5 [R"U5 f=f!,(df  g=f)aRequest forkserver to create a child process. Returns a pair of fds (status_r, data_w). The calling process can read the child process's pid and (eventually) its returncode from status_r. The calling process should write to data_w the pickled preparation and process data. z too many fdsN)r lenMAXFDS_TO_SEND ValueErrorsocketAF_UNIXconnectrr)piperrgetfdrsendfdsr*)rfdsclientparent_rchild_wchild_rparent_wallfdss rr !ForkServer.connect_to_new_processMs  s8a<> )^, , ]]6>> *f NN433 4 " H " G(A(A&,,.0F MF "!!&1) !!!+ * ""!!!+ *s1A0E8D,E8/EE.E55E88 FcHUR [R"5 URbw[R "UR[R 5upU(d SSS5 g[R"UR5 SUl SUlSUlSn0nUR(a2[R"S5nSU;aUSUS'SU;aUSUS'[R"[R5n[R "S5nUR#U5 [$R&"U5(d[R("US5 UR+5 [R,"5upUR/5U/n X6R/5XRU4-n[R0"5n U /[$R2"5-n U S U/- n [$R4"XU 5n[R"U5 Xpl XlXlSSS5 SSS5 g! [R"U 5 e=f![R"U5 f=f!,(df  NN=f!,(df  g=f) zMake sure that a fork server is running. This can be called from any process. Note that usually a child process will just reuse the forkserver started by its parent, so ensure_running() will do nothing. NzCfrom multiprocessing.forkserver import main; main(%d, %d, %r, **%r)ignoresys_pathinit_main_from_path main_pathrCiz-c)rrr rr)r+WNOHANGr*rrrrget_preparation_datarBrCrarbitrary_addressbindr r,chmodlistenrEfilenoget_executable_args_from_interpreter_flagsspawnv_passfds) rpidstatuscmdmain_kwsdatalisteneraddressalive_ralive_w fds_to_passexeargss rr ForkServer.ensure_runningjsZZ  + + -##/ jj)=)=rzzJ Z223+/(,0)'+$,CH$$11(;%+/ +;HZ((D0,01F,GH[)v~~.($66yA g&88AAHHWe,!$&779  &#+??#4g">KOO-w8M8M$&&C..0C54#D#D#FFDT3K'D--cEC HHW%+2(,3)'*$3/3ZVHHW%HHW%-/.3ZsQAJ2B JBJA=I (J:J I$$I''I??J J J J!)rrrrrrN) __name__ __module__ __qualname____firstlineno__r r&r%r r r r __static_attributes__r"rrr!s%-" (. #":9+r"rc  U(aUbU[RSS&SU;aIUbFS[R"5l[ R "U5 [R"5?UHn[U5 M [R"5 [R"5 [R"5upg[R"US5 [R"US5 Sn[R U[R"[R$0n U R'5V V s0sHupU [R"X5_M n n n [R("U5 0n [*R*"[*R,US9n[.R0"5nUR35[4lUR9U[.R:5 UR9U[.R:5 UR9U[.R:5 UR=5VVs/sHunnUR>PM nnnU(aOM9UU;a([R@"US5S:XdS 5e[BeUU;a[R@"US 5 [RD"S [RF5unnUS :XaOjU RKUS5nUb:[RL"U5n[OUU5 [RR"U5 O[TRV"S U-5 MUU;GaURY5S n[ZR\"U[^S-5n[aU5[^:a#[cSRe[aU555eUtnnnURS5 [Rf"5nUS :XaSnURS5 URS5 UUXg/nURiU Rk55 [lRn"5 [lR8"[Rp5 [sUUUU 5n[lR~"5 [R"U5 OG[OUU5 UU U'[RR"U5 UHn[RR"U5 M SSS5 OGM![R"5?f=f![a GMf=fs sn n fs snnf![Ha GMf=f![Pa GN6f=f![taH [Rv"[Rx"56 [RzR}5 GN,f=f![lR~"5 [R"U5 f=f![Pa GN4f=f!,(df  GN=f![a*nUR[R:waeSnAGN5SnAff=f!,(df  O=fSSS5 g!,(df  g=f)zRun forkserver.NrTFcgr$rq)_unuseds rsigchld_handlermain..sigchld_handlers r")r[rr"z Not at EOF?irz.forkserver: waitpid returned unexpected pid %dzToo many ({0:n}) fds to send)Dsyspathrcurrent_process _inheritingrimport_main_path __import__ ImportErrorr _flush_std_streams _close_stdinr)rE set_blockingsignalSIGCHLDSIGINTSIG_IGNitems set_wakeup_fdrBrC selectorsDefaultSelector getsockname _forkserverrregister EVENT_READselectfileobjread SystemExitr+rUChildProcessErrorpopwaitstatus_to_exitcode write_signedBrokenPipeErrorr*warningswarnacceptrrecvfdsr@r? RuntimeErrorformatforkextendvaluesatexit_clear_exit_function _serve_one Exception excepthookexc_infostderrflush_run_exitfuncs_exitOSErrorerrno ECONNABORTED) listener_fdrfpreloadrTrRmodnamesig_rsig_wruhandlerssigval old_handlers pid_to_fdrdselectorkeyeventsrfdsr_stsrK returncodesrHrLcode unused_fdsfdes rmainrs  "CHHQK  Y%:48G # # % 1 :&&y1++-9G 7# !779LEOOE5!OOE5!  v~~  H'/nn&68&6 s00&68 I v~~k :h  " " $*2*>*>*@ '(I$8$89'9#7#78%!5!56S =E__=NO=NMS&CKK=NDO d?777A.#5D}D5$$D=GGE5)"')zz"bjj'AHC!8!"+--T":".)+)B)B3)GJ% ,Wj AHHW-%MM+>@C+DE+0t#!*1-'//>A3EFs8n4". > E E$'H!.#//25.3  ggi!8#$D/ ( 0 ( 0.5w-M * 1 1)2B2B2D E &  &0C0C D'1'32<2>(@!' 5 5 7 "% ,Wc :.5IcNHHW-&) " '*M.-$OY++-9  .8(P 1"!"$3% $%D$-3 #  ? # 0 0 23!' 5 5 7 " $3% $%C.-R 77e0001 s % $ ; : :sDS73 T7#T#Y .A;X1*W:>T) AW:1(T/2W: UA W:$BW(,B U7,W($ W0:W(*W:2X17T T T )W:/ T>9W:=T>>W: U W:UW:AV$ V'#V$ $V''-W W( W% !W($W% %W(( W7 2W:5X17W:: X.X)#X1)X..X11 X? ;Y  Ycz[R"S5 UR5HupE[R"XE5 M UHn[R"U5 M Ut[ l[Rl [ l [R"U5n[R"X5nU$)Nrw)rrrr)r*rrr_resource_tracker_fdrdupr_main) rLrHrrrrrparent_sentinelrs rrr6s NN$ c%   %("[%''+ ffWoO ;;w 0D Kr"cSn[Rn[U5U:aI[R"X[U5- 5nU(d [ S5eX- n[U5U:aMI[R U5S$)Nr"zunexpected EOFr) SIGNED_STRUCTsizer?r)rEOFErrorunpack)rrclengthrs r read_signedrMsq D   F d)f  GGBT* ++, ,  d)f     %a ((r"c[RU5nU(a5[R"X5nUS:Xa [ S5eX#SnU(aM4gg)Nrzshould not get here)rpackr)writer)rnmsgnbytess rrrWsF   Q C "" Q;45 5'l #r")NN)!rrr)rrrBstructrxrrrrcontextrrrr __all__r@Structrobjectrrrrrrr r r r rqr"rrs   % c" B+B+PJZ.)l ++11$;;$;;r"