python (3.12.0)

(root)/
lib/
python3.12/
multiprocessing/
__pycache__/
resource_tracker.cpython-312.pyc

̑e
#ddlZddlZddlZddlZddlZddlmZddlmZgdZe	edZ
ejejfZ
ddiZejd	k(rKddlZddlZe	ed
rej%dej&iej%dej(iGd
deZeZej0Zej2Zej4Zej6ZdZy)N)spawn)util)ensure_runningregister
unregisterpthread_sigmasknoopcyNr
T/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/multiprocessing/resource_tracker.py<lambda>r!srposix
sem_unlink	semaphore
shared_memoryc<eZdZdZdZdZdZdZdZdZ	dZ
y	)
ResourceTrackercRtj|_d|_d|_yr)	threadingLock_lock_fd_pidselfs r__init__zResourceTracker.__init__8s^^%
	rc|j5|j
	dddytj|jd|_tj|j
dd|_dddy#1swYyxYw)Nr)rrosclosewaitpidrrs r_stopzResourceTracker._stop=sg
ZZ
	xx
	
	
HHTXXDHJJtyy!$DI
	
	
	sA:A
A::Bc:|j|jSr)rrrs rgetfdzResourceTracker.getfdJsxxrc|j5|j|jr
	dddytj|j	|j
 tj|j
dd|_d|_tjdg}	|jtjjd}tj\}}	|j|t!j"}|gt%j&z}|d||zgz
}	t(r(t+j,t*j.t0t%j2|||}t(r)t+j,t*j4t0	||_||_	tj|	dddy#t$rYcwxYw#t$rY wxYw#t(r)t+j,t*j4t0wwxYw#tj|xYw#tj|wxYw#1swYyxYw)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.NrzUresource_tracker: process died unexpectedly, relaunching.  Some resources might leak.z:from multiprocessing.resource_tracker import main;main(%d)z-c)rr_check_aliver!r"rr#ChildProcessErrorwarningswarnappendsysstderrfileno	Exceptionpiperget_executabler_args_from_interpreter_flags
_HAVE_SIGMASKsignalr		SIG_BLOCK_IGNORED_SIGNALSspawnv_passfdsSIG_UNBLOCK)rfds_to_passcmdrwexeargspids        rrzResourceTracker.ensure_runningNs
ZZ9	xx#$$&9	9	"yy,

499a0  	

IJK
""3::#4#4#67OC779DAq
""1%**,ut@@BBsQw'U$..v/?/?AQR--c4EC$..v/A/ACST
	s9	9	)

*%..v/A/ACST%

s9	9	sI I ,G%I &-G'I -AH+5AG7:/H+)I8I 	G$ I #G$$I '	G40I 3G44I 71H((H++IIII  I)cd	tj|jdy#t$rYywxYw)z;Check that the pipe has not been closed by sending a probe.s
PROBE:0:noop
TF)r!writerOSErrorrs rr(zResourceTracker._check_alives5	
HHTXX01		s #	//c*|jd||y)z0Register name of resource with resource tracker.REGISTERN_sendrnamertypes   rrzResourceTracker.registers

:tU+rc*|jd||y)z2Unregister name of resource with resource tracker.
UNREGISTERNrFrHs   rrzResourceTracker.unregisters

<u-rc6|jdj|||jd}t|dkDrt	dtj|j|}|t|k(s Jdj|t|y)Nz{0}:{1}:{2}
asciiizmsg too longznbytes {0:n} but len(msg) {1:n})rformatencodelen
ValueErrorr!rBr)rr;rIrJmsgnbytess      rrGzResourceTracker._sends$$S$6==gFs8c>^,,$((C(S!	#D#K#KCH$	!rN)__name__
__module____qualname__rr$r&rr(rrrGr
rrrr6s+
>@	,.	rrctjtjtjtjtjtjtr(tj
tjttjtjfD]}	|jtjDcic]
}|t}}	t!|d5}|D]}	|j#j%dj'd\}}}tj)|d}|t+d|d||dk(r||j-|n.|dk(r||j/|n|d	k(rnt1d
|z	ddd|j7D]B\}}|r$	t9j:dt=||fz|D]}		t||Dy#t$rYdwxYwcc}w#t$r1	tj2tj4n#YnxYwYVwxYw#1swYxYw#t$rYwxYw#t$r%}	t9j:d|d
|	Yd}	~	d}	~	wwxYw#wxYw#|j7D]\}}|r4	t9j:dt=||fzn#t$rYnwxYw|D]I}		t||n1#t$r%}	t9j:d|d
|	Yd}	~	nd}	~	wwxYwF#wxYwwxYw)zRun resource tracker.rbrN:NzCannot register z. for automatic cleanup: unknown resource type rErLPROBEzunrecognized command %rzQresource_tracker: There appear to be %d leaked %s objects to clean up at shutdownzresource_tracker: z: )r5SIGINTSIG_IGNSIGTERMr4r	r9r7r-stdinstdoutr"r0_CLEANUP_FUNCSkeyssetopenstripdecodesplitgetrRaddremoveRuntimeError
excepthookexc_infoitemsr*r+rQ)
fdfrJcacheliner;rIcleanup_funcrtype_cachees
          rmainrvs9MM&--0
MM&..&..1v113CDii
$	
GGI(6':':'<=eUCE\=E=-
"d^	q
'+zz|':':7'C'I'I#'N$Cu#1#5#5eT#BL#+(.tf555:G=>>j(e((.,e++D1*+Ds+JKK!
	2#(++-	E;MM#N#&{#3U";#<=
$

N&u-d3

	?		
>*!7	%		>!%N 

D!&LMMN%#(++-	E;MM#N#&{#3U";#<=!#

N&u-d3$N 

D!&LMMND

	s7HH4J.IB#H *I-J.#I)8I8	HH 	I*$III	IIIII&"J.)	I54I58	J&J!J)!J&&J))J+.M#K,+M,	K8	5M7K8	8MLM	L?L:5M:L??MMMM)r!r5r-rr*rr__all__hasattrr4r\r^r7rarI_multiprocessing_posixshmemupdater
shm_unlinkobjectr_resource_trackerrrrr&rvr
rr<module>rs$



6 12
MM6>>2L77g.)44
	//
tftn$%"11%%

)
)
<r