*jJSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSK r SSK J r SSK J r /SQr \"\S5r\R \R"4rSr\S S .r\R*S :XaPSSKrSSKr\"\S 5(a\R1S \R205 \R1S\R405 "SS\5r"SS\5r\R>"5r \"5r!\!RDr"\!RFr#\!RHr$\!RJr%\"\S5(a\RL"\!RNS9 Sr(Sr)g)N)deque)spawn)util)ensure_runningregister unregisterpthread_sigmaskc[S5e)Nz-noop should never be registered or cleaned up) RuntimeErrornames G/opt/alt/python313/lib64/python3.13/multiprocessing/resource_tracker.py cleanup_noopr%s F GGcgNr s rr*s$r)noopdummyposix sem_unlink semaphore shared_memoryc\rSrSrSrg)ReentrantCallError?rN)__name__ __module__ __qualname____firstlineno____static_attributes__rrrrr?srrc \rSrSrSrSrSrSrSSjr\ R\ R\ R\ R\ R\"\ SS5S4S jrS rS rS rS rSrSSjrSrSrSrSrSrSrg)ResourceTrackerCc[R"5UlSUlSUlSUl[ 5UlSUlSUl g)NTF) threadingRLock_lock_fd_pid _exitcoder_reentrant_messages_use_simple_format_waitpid_timed_outselfs r__init__ResourceTracker.__init__EsC__&  #(7 #'#(rc[S5e)Nz8Reentrant call into the multiprocessing resource tracker)rr1s r_reentrant_call_error%ResourceTracker._reentrant_call_errorWs ! FH Hrc$URSSS9 g)NFg?)use_blocking_lock wait_timeout)_stopr1s r__del__ResourceTracker.__del___s U =rcFURR5 URR5 SUlSUlUR bB[[SS5(d+UR nSUl[R"U5 ggg![a gf=f)N preserve_fdF) r*_at_fork_reinitr.clearr,r-r+getattr _fork_intentoscloseOSError)r2fds r_after_fork_in_child$ResourceTracker._after_fork_in_childgs( ""$   &&(  HH  mU;;BDH  < !   s:B B B NcbU(a%UR URUS9 SSS5 gURRSS9nURUS9 U(aURR5 gg!,(df  g=f!U(aURR5 ff=f)N)r:F)blocking)r* _stop_lockedacquirerelease)r2r9r:acquireds rr;ResourceTracker._stops !!|!<zz))5)9H )!!|!<JJ&&(JJ&&(sA9B 9 B $B.WNOHANGcbURR5S:aUR5eURcgURcgU"UR5 SUlUcU"URS5upOhU"5U-n Sn U"URU5upU S:waO?X"5- n U S::aSUlSUlSUlg[U S-U S5n U"U 5 M[SUlU"U 5Ulg![a SUlSUlgf=f![a SUlgf=f)NrrgMbP?Tg?) r*_recursion_countr6r+r,r-r0minChildProcessError ValueError)r2rEwaitpidwaitstatus_to_exitcode monotonicsleeprQr:_statusdeadlinedelay result_pid remainings rrLResourceTracker._stop_lockedsG :: & & (1 ,,,. . 88   99   dhh ##DIIq1 6 %;5)0G)D&J!Q (9; 6I A~ %) )-26/ 9c:E%L*  "3F;DN! DI!DN   "!DN "s6%C<>(C<'$C< C<. D<DDD.-D.c:UR5 UR$r)rr+r1s rgetfdResourceTracker.getfds xxrc"UR5$)zMake sure that resource tracker process is running. This can be run from any process. Usually a child process will use the resource created by its parent.)_ensure_running_and_writer1s rrResourceTracker.ensure_runnings --//rc[R"UR5 URb![R"URS5 SUlSUlSUl[R"S5 g![ a N8f=f)NrzUresource_tracker: process died unexpectedly, relaunching. Some resources might leak.) rDrEr+r,rXrVr-warningswarnr1s r_teardown_dead_process&ResourceTracker._teardown_dead_processss  yy$ 499a(  A B!   s.A<< B B c>/nUR[RR55 [ R "5up#URU5 [R"5nU/[R"5QSPSUS3PnSn[(a)[R"[R[5n[R "XEU5nUb%[R"[R"U5 X0lXpl[ R("U5 g![a GNf=f!Ub&[R"[R"U5 ff=f! [ R("U5 e=f![ R("U5 f=f)Nz-cz7from multiprocessing.resource_tracker import main;main())appendsysstderrfileno ExceptionrDpiperget_executabler_args_from_interpreter_flags _HAVE_SIGMASKsignalr SIG_BLOCK_IGNORED_SIGNALSspawnv_passfds SIG_SETMASKr+r,rE)r2 fds_to_passrwexeargs prev_sigmaskpids r_launchResourceTracker._launchs[     szz002 3wwy    q !&&(C224J!AN D L M =#)#9#9&:J:JL\#]L))#[A+**6+=+=|L HI HHQKE   2 +**6+=+=|L,  HHQK  HHQKsI-D) AE(A D:(E( F) D76D7:+E%%E((FFFc|UR(ag[R"SSS.SSS9S-RS 5$) zReturn a probe message.s PROBE:0:noop PROBEr)cmdrtypeT,: ensure_ascii separators ascii)r/jsondumpsencoder1s r_make_probe_message#ResourceTracker._make_probe_messagesB  " "$ JJ&1!%     &/ rcUR URR5S:a7UcUR5eURR U5sSSS5 $UR b+UcUR 5nOUnURU5 SnOUR5 SSS5 URR5nURU5 M.![a# UR5 UR5 Nvf=f!,(df  Nm=f![a Of=fUbURU5 gg)Nr) r*rTr6r.rpr+r_writerFrlrpopleft IndexError)r2msgto_send reentrant_msgs rrg)ResourceTracker._ensure_running_and_write%s! ZZzz**,q0;4466//66s; Zxx#;"668G!G#KK(  +.  $ 8 8 @ @ B  KK & #//1LLN#Z4   ? KK  sHA D##DC"D5D#"*D DDD D # D0/D0c[R"URUR55 g![a gf=f)z;Check that the pipe has not been closed by sending a probe.TF)rDwriter+rrFr1s r _check_aliveResourceTracker._check_aliveFs=  HHTXXt779 :  s /2 ??c(URSX5 g)z0Register name of resource with resource tracker.REGISTERN_sendr2rrs rrResourceTracker.registerQs :t+rc(URSX5 g)z2Unregister name of resource with resource tracker. UNREGISTERNrrs rr ResourceTracker.unregisterUs <-rcF[R"URU5ngr)rDrr+)r2rnbytess rrResourceTracker._writeYs$((C(rcUR(aLSU;aFUSUSUS3RS5n[U5S:a [S5eUR U5 gURSS5n[U5S:a [S 5e[ R "U5RS5nXUS .n[R"US S S 9S-RS5nUR U5 g)Nrrriz msg too longutf-8surrogateescapez+shared memory name too long (max 255 bytes))rr base64_nameTrr) r/rlenrWrgbase64urlsafe_b64encodedecoderr)r2rrrrbb64payloads rrResourceTracker._send]s  " "t4'7E4&%+227;C3x#~!00  * *3 /  KK!2 3 q6C<JK K&&q)009cBzz'LtS[[\cd &&s+r)r-r+r*r,r.r/r0)TNr)rr r!r"r3r6r<rHr;rDrErXrYtimerZr[rBrLrdrrlrrrgrrr rrr#rrrr%r%Cs($H>B )hh !88..jjIt,<"|0B&&P B ,.?,rr%register_at_fork)after_in_childcURS5(a[R"URS55nUSnUSnUR SS5n[U[5(a*[U[5(a[U[5(d[ SU<35e[R"U5RS S 5nOAUR5RS5RS S S9up7URS S S9updX4U4$![an[ SU<35UeSnAff=f![ an[ S U<35UeSnAff=f)N{rz$malformed resource_tracker message: rrrz#malformed resource_tracker fields: rrz(malformed resource_tracker base64_name: rr)maxsplit) startswithrloadsrrtrWget isinstancestrrurlsafe_b64decodestripsplitrsplit)lineobjerrrrrests r_decode_messagers= t X**T[[12C%jG ww}b)#s##:eS+A+ATWY\I]I]MN N [++C077ARSDJJL''066sQ6G kk#k2  t # XOPVW W X [SRSYZ Z [s/%D(&D6 D3D..D36 EEEc j[R"[R[R5 [R"[R[R5 [(a)[R "[R [5 [R[R4HnUR5 M [R5Vs0sH o"[5_M nnSn[!US5nUHn[#U5upbn[R%US5nUc['SUSU35eUS:XaX2R)U5 MWUS:XaX2R+U5 MrUS:XaMz[-S U-5e SSS5 UR35HYup)U (a3S nUS :XaO)[4R6"S [9U 5SUSU 35 U Hn[U"U5 M M[ [R:"U5 g![a GMzf=fs snf![a8 S n[R."[R0"56 GMd! GMk=ff=f!,(df  N=f![a Nf=f![a*n Sn[4R6"SU<SU <35 Sn A NSn A ff=f!f=f!UR35Hup)U (aCS nUS :XaO9[4R6"S [9U 5SUSU 35 O![a Of=fU HQn[U"U5 O7![a*n Sn[4R6"SU<SU <35 Sn A OSn A ff=fMN!f=f M [R:"U5 f=f)zRun resource tracker.rrbNzCannot register z. for automatic cleanup: unknown resource type rrrzunrecognized command %rrrz%resource_tracker: There appear to be z leaked z" objects to clean up at shutdown: rSzresource_tracker: z: )rySIGINTSIG_IGNSIGTERMrxr SIG_UNBLOCKr{rqstdinstdoutrErt_CLEANUP_FUNCSkeyssetopenrrrWaddremover excepthookexc_infoitemsrjrkrexit) rGfrcache exit_coderrr cleanup_func rtype_cachers rmainrsd MM&--0 MM&..&..1}v113CDii $  GGI% (6':':'< ='>j( ((. , ++D1*+Ds+JKK!4#(++- E  !I' C";/0@55@MC$N&u-d3 $!#0:     >.! !I 7 %^P!%N$%  D!&LMMN7#(++- E  !I' C";/0@55@MC !#N&u-d3$N$%  D!&LMMND$!#0: sK?H')H9 K JAH>&J(H>JH> J H>JK J (J9J$' H65H6> J &I51J5I< 7J8J<JJ J K  J! J!$ K. KKKKK N2>L0N2(L0/N20 L= :N2<L= =N2MN N ! N NN NN2N  N2)*rrDryrqr(rrj collectionsrrrrr__all__hasattrrxrrr{rrr_multiprocessing _posixshmemupdater shm_unlinkr robjectr%localrC_resource_trackerrrr rdrrHrrrrrrsS$    6 12 MM6>>2H   77g.. )44  //   y,fy,B  #%"11  % %  ) )  2!""'8'M'MN0Jr