f\(ddlZddlZddlZddlZddlZddlmZddlmZgdZe edZ ej ej fZ ddiZejd krLddlZddlZe ed red ejied ejiGd deZGddeZeZejZejZejZejZdZdS)N)spawn)util)ensure_runningregister unregisterpthread_sigmasknoopcdSNr G/opt/alt/python311/lib64/python3.11/multiprocessing/resource_tracker.pyr!sDrposix sem_unlink semaphore shared_memoryceZdZdS)ReentrantCallErrorN)__name__ __module__ __qualname__r rrrr6sDrrcDeZdZdZdZdZdZdZdZdZ dZ d Z d S) ResourceTrackercRtj|_d|_d|_dSr ) threadingRLock_lock_fd_pidselfs r__init__zResourceTracker.__init__<s#_&&  rc td)Nz8Reentrant call into the multiprocessing resource tracker)rr"s r_reentrant_call_errorz%ResourceTracker._reentrant_call_errorAs ! FHH Hrcl|j5|jdkr |cdddS|j ddddSt j|jd|_t j|jdd|_ddddS#1swxYwYdS)Nrr)r_recursion_countr&r osclosewaitpidr!r"s r_stopzResourceTracker._stopIs+ Z  z**,,q001133          x         HTX   DH Jty! $ $ $DI                  s1B)B)AB))B-0B-c8||jSr )rr r"s rgetfdzResourceTracker.getfdZs xrc. |j5|jdkr |cdddS|j|r ddddSt j|j |jt j|jdn#t$rYnwxYwd|_d|_tj dg} | tjn#t $rYnwxYwd}t j\}} | |t%j}|gt)jz}|d||zgz } t,r$t/jt.jt4t)j|||}t,r$t/jt.jt4n1#t,r%t/jt.jt4wwxYw||_||_n#t j|xYw t j|n#t j|wxYw ddddS#1swxYwYdS)NrrzUresource_tracker: process died unexpectedly, relaunching. Some resources might leak.z:from multiprocessing.resource_tracker import main;main(%d)z-c)rr(r&r _check_aliver)r*r!r+ChildProcessErrorwarningswarnappendsysstderrfileno Exceptionpiperget_executabler_args_from_interpreter_flags _HAVE_SIGMASKsignalr SIG_BLOCK_IGNORED_SIGNALSspawnv_passfds SIG_UNBLOCK)r# fds_to_passcmdrwexeargspids rrzResourceTracker.ensure_running^s$ /Z< < z**,,q001133< < < < < < < < x#$$&&< < < < < < < < """y, 49a000(D    IJJJK ""3:#4#4#6#67777    NC799DAq ""1%%%*,,ut@BBBsQw'U$S.v/?AQRRR-c4EEC$U.v/ACSTTT%U.v/ACSTTTTU      y< < < < < < < < < < < < < < < < < < s1J J 0J  !B,+J , B96J 8B99'J !1DJ  D J D  J  :tU+++++rc6 |d||dS)N UNREGISTERrNrPs rrzResourceTracker.unregisters!@ <u-----rcT |n+#t$rtjd|d|dYnwxYwd|||d}t |dkrtdtj |j |}dS)NzSResourceTracker called reentrantly for resource cleanup, which is unsupported. The z object z might leak.z {0}:{1}:{2} asciiiz msg too long) rrr2r3formatencodelen ValueErrorr)rJr )r#rCrQrRmsgnbytess rrOzResourceTracker._sends <    ! ! ! !! < < < M;;;&*;;; < < < < <  <$$S$66==gFF s88c>>^,, ,$(C((s %??N) rrrr$r&r,r.rr0rrrOr rrrr:s HHH"AAAF   ,,,...rrc  tjtjtjtjtjtjtr$tjtjttj tj fD]'} | #t$rY$wxYwdtD} t|d5}|D] } |dd\}}}t|d}|t)d|d||dkr|||n;|dkr|||n|d krnt/d |z#t$r, tjtjn#YnxYwYwxYw dddn #1swxYwY|D]\}}|r8 t7jd t;||fzn#t$rYnwxYw|D]P} t||n1#t$r$} t7jd |d | Yd} ~ nd} ~ wwxYwL#wxYwdS#|D]\}}|r8 t7jd t;||fzn#t$rYnwxYw|D]P} t||n1#t$r$} t7jd |d | Yd} ~ nd} ~ wwxYwL#wxYwwxYw)Nc,i|]}|tSr )set).0rRs r zmain..s = = =eUCEE = = =rrbrV:zCannot register z. for automatic cleanup: unknown resource type rMrTPROBEzunrecognized command %rzQresource_tracker: There appear to be %d leaked %s objects to clean up at shutdownzresource_tracker: z: )r=SIGINTSIG_IGNSIGTERMr<r rAr?r5stdinstdoutr*r8_CLEANUP_FUNCSkeysopenstripdecodesplitgetrZaddremove RuntimeError excepthookexc_infoitemsr2r3rY) fdfcachelinerCrQrR cleanup_func rtype_cachees rmainr~s M&-000 M&.&.111Ev13CDDDi $  GGIIII    D  > =~':':'<'< = = =E- "d^^ q  '+zz||':':7'C'C'I'I#'N'N$Cu#1#5#5eT#B#BL#+(=t==5:==>>>j((e ((.... ,,e ++D1111*+Ds+JKKK  777 #                2#(++--   E; M#N#&{#3#3U";#<====!D#  N&u-d3333$NNN DDD!!&LMMMMMMMMNDDDD   %++--   E; M#N#&{#3#3U";#<====!D#  N&u-d3333$NNN DDD!!&LMMMMMMMMNDDDD  s!B// B<;B<#K3H:C GH G>G32G>3G7 5G>:H=G>>H KHKHK5&I I)(I)2JJ: J6J1,J:1J66J::J<M+&LM+ L M+L M+L21M$2 M <M M$M M$#M+$M& &M+)r)r=r5rr2rr__all__hasattrr<rergr?rjrQ_multiprocessing _posixshmemupdater shm_unlinkrsrobjectr_resource_trackerrrrr.r~r rrrs$  6 6 6 122 M6>2 LL7gw..  )4    /         MMMMMfMMM`$O%%"1  %  ) <<<<<r