python (3.12.0)

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

̑e6dddlZddlZddlZddlZddlZddlZddlmZddlm	Z	gdZ
dZdZdZ
dZd	Zd
ZdZdadad
ZdZdZdZdZd*dZdZdZeZdZdZej>Z ejBZ"dZ#dZ$iZ%ejBZ&Gdde'Z(d*dZ)dZ*da+eee)e	jXe	jZfdZ.ej^e.Gdde'Z0Gd d!ejbZ2	ejfd"Z4d$Z6d%Z7d&Z8d'Z9d(Z:d)Z;y#e5$rd#Z4YwxYw)+N)_args_from_interpreter_flags)process)	sub_debugdebuginfosub_warning
get_logger
log_to_stderrget_temp_dirregister_after_fork
is_exitingFinalizeForkAwareThreadLockForkAwareLocalclose_all_fds_exceptSUBDEBUG
SUBWARNING
multiprocessingz+[%(levelname)s/%(processName)s] %(message)sFcHtrtjt|g|yyN)_loggerlogrmsgargss  H/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/multiprocessing/util.pyrr,sHc)D)cHtrtjt|g|yyr)rrDEBUGrs  r!rr0sE3&&r"cHtrtjt|g|yyr)rrINFOrs  r!rr4sD#%%r"cHtrtjt|g|yyr)rrrrs  r!r	r	8sJ+d+r"cddl}|j	ts|jtadt_t
tdr3tjttjtnLtjjtdiftjjtdif|jtS#|jwxYw)z0
    Returns logger used by multiprocessing
    rN
unregister)logging_acquireLockr	getLoggerLOGGER_NAME	propagatehasattratexitr)_exit_functionregister
_exithandlersremoveappend_releaseLock)r+s r!r
r
<s
''4G !Gv|,!!.1/$$++^R,DE$$++^R,DE	N	sB5C!!C3cddl}t}|jt}|j	}|j||j
||r|j|datS)zB
    Turn on logging and add a handler which prints to stderr
    rNT)
r+r
	FormatterDEFAULT_LOGGING_FORMAT
StreamHandlersetFormatter
addHandlersetLevel_log_to_stderrr)levelr+logger	formatterhandlers     r!rrWsb

\F!!"89I##%G#
gNNr"cNtjdk(ryttdryy)NlinuxTgetandroidapilevelF)sysplatformr0r*r"r!#_platform_supports_abstract_socketsrIls"
||ws()r"c|syt|tr|ddk(St|tr|ddk(Std|d)NFrzaddress type of z
 unrecognized)
isinstancebytesstr	TypeError)addresss r!is_abstract_socket_namespacerQtsN'5!qzQ	GS	!qzT!!
&wk?
@@r"c`||tj}|d|jd<yy)Ntempdir)rcurrent_process_config)rmtreerSrTs   r!_remove_temp_dirrWs4
7O--/O"-1	*#r"c0tjjjd}|fddl}ddl}|j
d}td|tdt|j|fd|tjjd<|S)NrSrzpymp-)prefixzcreated temp directory %si)r exitpriority)rrTrUgetshutiltempfilemkdtemprrrWrV)rSr\r]s   r!rrs%%'//33I>G""'"2
('2	'v}}g.F"	$7>!)))4Nr"cttj}|j|D]\\}}}}	||y#t$r}td|Yd}~0d}~wwxYw)Nz after forker raised exception %s)list_afterfork_registryitemssort	Exceptionr)rbindexidentfuncobjes      r!_run_after_forkersrjsf$**,-E	JJL%*8!tc	8I8	83Q77	8sA	A%A  A%cH|tttt||f<yr)ranext_afterfork_counterid)rhrgs  r!r
r
sEH012c7DABr"cNeZdZdZddZdeeejfdZ	dZ
dZdZy)	rzA
    Class which supports object finalization using weakrefs
    Nc||4t|ts$tdj|t	||tj|||_n
|td||_	||_
|xsi|_|ttf|_tj |_|t$|j<y)Nz3Exitpriority ({0!r}) must be None or int, not {1!s}z+Without object, exitpriority cannot be None)rLintrOformattypeweakrefref_weakref
ValueError	_callback_args_kwargsrl_finalizer_counter_keyosgetpid_pid_finalizer_registry)selfrhcallbackr kwargsrZs      r!__init__zFinalize.__init__s$jc.JELL $|"467
7?#KKT2DM

!JKK!
|!4(:#;<	IIK	)-DII&r"cr	||j=|j|k7r|dd}nO|d|j|j|j|j|ji|j}dx|_x|_x|_x|_|_|S#t$r|dYywxYw)zQ
        Run the callback unless it has already been called or cancelled
        z+finalizer ignored because different processNz/finalizer calling %s with args %s and kwargs %szfinalizer no longer registered)r|rrxryrzrvKeyError)rwrrrr~ress      r!__call__zFinalize.__call__s	#DII.yyFH$GHK..$**dllD$dnndjjADLLA7;
<DM
<DN
<TZ
< L49J	867	8s
B""B65B6c	t|j=dx|_x|_x|_x|_|_y#t$rYywxYw)z3
        Cancel finalization of the object
        N)rr|rvrxryrzrrs r!cancelzFinalize.cancelsU	<#DII.
8<
<DM
<DN
<TZ
< L49			s7	AAc&|jtvS)zS
        Return whether this finalizer is still waiting to invoke callback
        )r|rrs r!still_activezFinalize.still_activesyy///r"c	|j}|d|jjzSd|jjdt|jd|j}|jr|dt|jzz
}|jr|dt|jzz
}|jd|dt|jdzz
}|d	zS#ttf$rd}YwxYw)
Nz<%s object, dead><z object, callback=__name__z, args=z	, kwargs=rz, exitpriority=>)rvAttributeErrorrO	__class__rgetattrrxryrNrzr|)rrhxs   r!__repr__zFinalize.__repr__s	--/C;&)@)@@@''
DNNC
E::
S_,,A<<
s4<<000A99Q<#
"S1%666A3w	*	C	sC((C<;C<)r*NN)
r
__module____qualname____doc__rrrr}r~rrrrr*r"r!rrs3.&&9$RYY	0
<0r"rc|tyd}nfd}ttDcgc]
}||s|}}|jd|D].}tj|}|t	d|	|0tjyycc}w#t
$rddl}|jYmwxYw)z
    Run all finalizers whose exit priority is not None and at least minpriority

    Finalizers with highest priority are called first; finalizers with
    the same priority will be called in reverse order of creation.
    Nc|dduSNrr*)ps r!<lambda>z!_run_finalizers.<locals>.<lambda>sqt4'r"c&|dduxr|dk\Srr*)rminprioritys r!rz!_run_finalizers.<locals>.<lambda>sqt4'?AaDK,?r"T)reversez
calling %sr)	rr`rcr[rrd	traceback	print_excclear)rfkeykeys	finalizerrs`     r!_run_finalizersrs"	'?  34?C#C?D?IIdI	&'++C0	 lI.
&
	&!!#@
& ##%
&s
BB5BB;:B;c"txstduS)z6
    Returns true if the process is shutting down
    N)_exitingr*r"r!rr8s'x4''r"c\tsda|d|d|d|u|D]<}|js|d|j|jj	>|D]%}|d|j|j'|d|yy)NTzprocess shutting downz2running all "atexit" finalizers with priority >= 0rz!calling terminate() for daemon %szcalling join() for process %sz)running the remaining "atexit" finalizers)rdaemonname_popen	terminatejoin)rrractive_childrenrTrs      r!r2r2@s
$%
BC(%&
)88<affEHH&&(
)
%&
4aff=
	9:?r"c$eZdZdZdZdZdZy)rctj|_|jj|_|jj|_t|tjyr)	threadingLock_lockacquirereleaser
r_at_fork_reinitrs r!rzForkAwareThreadLock.__init__qsC^^%
zz))zz))D"5"E"EFr"c8|jjyr)rrrs r!rz#ForkAwareThreadLock._at_fork_reinitws

""$r"c6|jjSr)r	__enter__rs r!rzForkAwareThreadLock.__enter__zszz##%%r"c4|jj|Sr)r__exit__)rr s  r!rzForkAwareThreadLock.__exit__}s"tzz""D))r"N)rrrrrrrr*r"r!rrpsG%&*r"rceZdZdZdZy)rct|dy)Nc6|jjSr)__dict__r)rhs r!rz)ForkAwareLocal.__init__.<locals>.<lambda>ss||/A/A/Cr")r
rs r!rzForkAwareLocal.__init__s
D"CDr"ct|dfS)Nr*)rsrs r!
__reduce__zForkAwareLocal.__reduce__sDz2~r"N)rrrrrr*r"r!rrs
Er"rSC_OPEN_MAXct|dtgz}|j|dtk(sJdtt	|dz
D]$}tj||dz||dz&y)Nzfd too larger)r`MAXFDrcrangelenr}
closerange)fdsis  r!rrsk
s)r5k
!CHHJr7e+^+
3s8a<
 *


c!fQhAaC)*r"ctjy	tjj	tjt
jt
j}	t
|ddt_y#ttf$rY]wxYw#tj|xYw#ttf$rYywxYw)Nzutf-8F)encodingclosefd)	rGstdincloseOSErrorrwr}opendevnullO_RDONLY)fds r!_close_stdinrs
yy
		

WWRZZ
-	R'5ACI

Z 

	HHRLZ 

s4A=2B-%B=BBB**B--B?>B?c	tjj	tj
jy#ttf$rY1wxYw#ttf$rYywxYwr)rGstdoutflushrrwstderrr*r"r!_flush_std_streamsrs]






J'


J'

s"AAAAA'&A'cddl}ddl}ttt	t
|}t
j\}}	|j||gd|dddddddd||dddddddd|jt
j|t
j|S#t
j|t
j|wxYw)NrTrF)_posixsubprocess
subprocesstuplesortedmaprqr}pipe	fork_exec
_USE_VFORKr)pathr passfdsrrerrpipe_read
errpipe_writes       r!spawnv_passfdsrsF3sG,-.G"$'')L- ))4&$tBBL-5"dD$D!!	#	
	
s1B,Cc<|D]}tj|y)z/Close each file descriptor given as an argumentN)r}r)rrs  r!	close_fdsrs
r"cddlm}tjddlm}|jjddlm}|jjt|j|jy)zKCleanup multiprocessing resources when multiprocessing tests
    completed.r)support)
forkserver)resource_trackerN)
testrr_cleanuprr_forkserver_stopr_resource_trackerr
gc_collect
reap_children)rrrs   r!_cleanup_testsrsc+  "1&&,,.r"r)<r}	itertoolsrGrtr1rrrr__all__NOTSETrr$r&rr.r:rr?rrrr	r
rrIrQabstract_sockets_supportedrWrWeakValueDictionaryracountrmrjr
rr{objectrrrrrrTr2r3rlocalrsysconfrrdrrrrrrr*r"r!<module>rs


3

	

F
*'&,6*AAB2$2g113$Y__&8I$Y__&SvSl&$X(E?#*#:#:#*#:#:(T*&*"Y__BJJ}%E*
.

  QEsD%%D/.D/