python (3.11.7)

(root)/
lib/
python3.11/
multiprocessing/
__pycache__/
context.cpython-311.opt-1.pyc

eM-0ddlZddlZddlZddlmZddlmZdZGddeZGdd	eZ	Gd
deZ
Gdd
eZGddeZ
GddejZGdde
ZejdkrGddejZGddejZGddejZGdde
ZGdde
ZGdd e
Zeeed!Zejd"kreed#ZnPeed$Zn>Gd%dejZGd&de
Zd#eiZeed#Zd'ZejZd(Zd)Zd*ZdS)+N)process)	reductionceZdZdS)ProcessErrorN__name__
__module____qualname__rK/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/multiprocessing/context.pyrrDr
rceZdZdS)BufferTooShortNr	rr
rrrrr
rceZdZdS)TimeoutErrorNr	rr
rrrrr
rceZdZdS)AuthenticationErrorNr	rr
rrrrr
rceZdZeZeZeZeZeej	Z	eej
Z
eejZdZdZ
d&dZdZdZd'dZd(d
Zd(dZdZd)d
Zd*dZd*dZdZ		d+dZdZdZdddZdddZdZdZd'dZ dZ!dZ"dZ#d'dZ$d,d!Z%d,d"Z&e'd#Z(e(j)d$Z(d%Z*dS)-BaseContextcNtj}|td|S)z(Returns the number of CPUs in the systemNzcannot determine number of cpus)os	cpu_countNotImplementedError)selfnums  rrzBaseContext.cpu_count)s&lnn;%&GHHHJr
cvddlm}||}||S)zReturns a manager associated with a running server process

        The managers methods such as `Lock()`, `Condition()` and `Queue()`
        can be used to create shared objects.
        r)SyncManagerctx)managersrget_contextstart)rrms   rManagerzBaseContext.Manager1sF	*)))))KD,,..///				r
Tc$ddlm}||S)z1Returns two connection object connected by a piper)Pipe)
connectionr()rduplexr(s   rr(zBaseContext.Pipe<s"$$$$$$tF||r
cJddlm}||S)z#Returns a non-recursive lock objectr)Lockr )synchronizer,r#)rr,s  rr,zBaseContext.LockAs3%%%%%%t((**++++r
cJddlm}||S)zReturns a recursive lock objectr)RLockr )r-r/r#)rr/s  rr/zBaseContext.RLockF3&&&&&&u))++,,,,r
NcLddlm}|||S)zReturns a condition objectr)	Conditionr )r-r2r#)rlockr2s   rr2zBaseContext.ConditionKs5******y4#3#3#5#56666r
rcLddlm}|||S)zReturns a semaphore objectr)	Semaphorer )r-r5r#)rvaluer5s   rr5zBaseContext.SemaphorePs5******yD$4$4$6$67777r
cLddlm}|||S)z"Returns a bounded semaphore objectr)BoundedSemaphorer )r-r8r#)rr6r8s   rr8zBaseContext.BoundedSemaphoreUs61111114+;+;+=+=>>>>r
cJddlm}||S)zReturns an event objectr)Eventr )r-r:r#)rr:s  rr:zBaseContext.EventZr0r
cPddlm}|||||S)zReturns a barrier objectr)Barrierr )r-r<r#)rpartiesactiontimeoutr<s     rr<zBaseContext.Barrier_s9((((((wwT5E5E5G5GHHHHr
rcLddlm}|||S)Returns a queue objectr)Queuer )queuesrBr#)rmaxsizerBs   rrBzBaseContext.Queueds5!!!!!!uW$"2"2"4"45555r
cLddlm}|||S)rAr)
JoinableQueuer )rCrFr#)rrDrFs   rrFzBaseContext.JoinableQueueis5))))))}W$*:*:*<*<====r
cJddlm}||S)rAr)SimpleQueuer )rCrHr#)rrHs  rrHzBaseContext.SimpleQueuens3''''''{t//112222r
rcRddlm}||||||S)zReturns a process pool objectr)Pool)context)poolrJr#)r	processesinitializerinitargsmaxtasksperchildrJs      rrJzBaseContext.PoolssG	tI{H6F ,,..000	0r
c ddlm}||g|RS)zReturns a shared objectr)RawValue)sharedctypesrR)rtypecode_or_typeargsrRs    rrRzBaseContext.RawValuezs-******x(040000r
c&ddlm}|||S)zReturns a shared arrayr)RawArray)rSrW)rrTsize_or_initializerrWs    rrWzBaseContext.RawArrays(******x(*=>>>r
)r3cLddlm}||g|R||dS)z$Returns a synchronized shared objectr)Valuer3r!)rSrZr#)rrTr3rUrZs     rrZzBaseContext.ValuesR''''''u%---4))++---	-r
cPddlm}|||||S)z#Returns a synchronized shared arrayr)Arrayr[)rSr]r#)rrTrXr3r]s     rr]zBaseContext.ArraysD''''''u%':))++---	-r
cztjdkr(ttddrddlm}|dSdSdS)zCheck whether this is a fake forked process in a frozen executable.
        If so then run code specified by commandline and exit.
        win32frozenFr)freeze_supportN)sysplatformgetattrspawnra)rras  rrazBaseContext.freeze_supportsV<7""wsHe'D'D"------N#"""r
c"ddlm}|S)zZReturn package logger -- if it does not already exist then
        it is created.
        r)
get_logger)utilrg)rrgs  rrgzBaseContext.get_loggers"	%$$$$$z||r
c$ddlm}||S)z8Turn on logging and add a handler which prints to stderrr)
log_to_stderr)rhrj)rlevelrjs   rrjzBaseContext.log_to_stderrs$''''''}U###r
cddlm}dS)zVInstall support for sending connections and sockets
        between processes
        r)r)N)r))rr)s  rallow_connection_picklingz%BaseContext.allow_connection_picklings	!       r
c(ddlm}||dS)zSets the path to a python.exe or pythonw.exe binary used to run
        child processes instead of sys.executable when using the 'spawn'
        start method.  Useful for people embedding Python.
        r)set_executableN)rerp)r
executablerps   rrpzBaseContext.set_executables,
	*)))))z"""""r
c(ddlm}||dS)zkSet list of module names to try to load in forkserver process.
        This is really just a hint.
        r)set_forkserver_preloadN)
forkserverrs)rmodule_namesrss   rrsz"BaseContext.set_forkserver_preloads-	766666|,,,,,r
c||S	t|}n!#t$rtd|zdwxYw||S)Nzcannot find context for %r)_concrete_contextsKeyError
ValueError_check_available)rmethodr!s   rr#zBaseContext.get_contextsj>K	N$V,CC	N	N	N9FBCCM	N
s
2Fc|jSN)_namer
allow_nones  rget_start_methodzBaseContext.get_start_methods
zr
c td)Nz+cannot set start method of concrete context)ryrr{forces   rset_start_methodzBaseContext.set_start_methodsFGGGr
cDtdS)z_Controls how objects will be reduced to a form that can be
        shared with other processes.r)globalsgetrs rreducerzBaseContext.reducersyy}}[)))r
c(|td<dS)Nr)r)rrs  rrzBaseContext.reducers!*		+r
cdSr}rrs rrzzBaseContext._check_availablesr
)Tr})r)NN)r)NNrNF)+r
rrrrrrstaticmethodrcurrent_processparent_processactive_childrenrr&r(r,r/r2r5r8r:r<rBrFrHrJrRrWrZr]rargrjrnrprsr#rrpropertyrsetterrzrr
rrrsL#NL-"l7#:;;O!\'"899N"l7#:;;O			
,,,
---
7777
8888
????
---
IIII
6666
>>>>
333
?A"0000111
???
37-----DH-----$$$$
!!!###---HHHH**X*

^++^+




r
rc>eZdZdZedZedZdS)ProcessNcdtj|Sr})_default_contextr#r_Popen)process_objs rrzProcess._Popens%++--5<<[IIIr
cbtjSr})rr#r_after_forkrr
rrzProcess._after_forks#++--5AACCCr
r
rr
_start_methodrrrrr
rrrsUMJJ\JDD\DDDr
rc@eZdZeZdZdfd	Zd	dZd	dZdZxZ	S)
DefaultContextc"||_d|_dSr})r_actual_context)rrKs  r__init__zDefaultContext.__init__s '#r
Nc~||j|j|_|jSt|Sr})rrsuperr#)rr{	__class__s  rr#zDefaultContext.get_contexts=>#+'+'<$''77&&v...r
Fc|j|std||r	d|_dS|||_dS)Nzcontext has already been set)rRuntimeErrorr#rs   rrzDefaultContext.set_start_methodsQ+E+=>>>>e>#'D F#//77r
cH|j|rdS|j|_|jjSr})rrr~rs  rrzDefaultContext.get_start_methods/'
t#'#8D #))r
ctjdkrdgStjdkrddgnddg}tjr|d|S)Nr_redarwinforkrt)rbrcrHAVE_SEND_HANDLEappend)rmethodss  rget_all_start_methodsz$DefaultContext.get_all_start_methodssZ<7""9+.<8+C+Cw''&RYIZG)
-|,,,Nr
r}r)
r
rrrrr#rrr
__classcell__)rs@rrrsG$$$//////8888****r
rr_c(eZdZdZedZdS)ForkProcessrc$ddlm}||SNr)Popen)
popen_forkrrrs  rrzForkProcess._Popens$))))))5%%%r
Nr
rrrrrrr
rrrs2
		&	&
	&	&	&r
rc>eZdZdZedZedZdS)SpawnProcessrec$ddlm}||Sr)popen_spawn_posixrrs  rrzSpawnProcess._Popen$0000005%%%r
cdSr}rrr
rrzSpawnProcess._after_fork"	
Dr
Nrrr
rrrM
		&	&
	&
		
			r
rc(eZdZdZedZdS)ForkServerProcessrtc$ddlm}||Sr)popen_forkserverrrs  rrzForkServerProcess._Popen)s$//////5%%%r
Nrrr
rrr's2$
		&	&
	&	&	&r
rceZdZdZeZdS)ForkContextrN)r
rrr~rrrr
rrr.sr
rceZdZdZeZdSSpawnContextreNr
rrr~rrrr
rrr2r
rceZdZdZeZdZdS)ForkServerContextrtc<tjstddS)Nz%forkserver start method not available)rrryrs rrzz"ForkServerContext._check_available9s)-
J !HIII
J
Jr
N)r
rrr~rrrzrr
rrr6s2#	J	J	J	J	Jr
r)rrertrrerc>eZdZdZedZedZdS)rrec$ddlm}||Sr)popen_spawn_win32rrs  rrzSpawnProcess._PopenMrr
cdSr}rrr
rrzSpawnProcess._after_forkRrr
Nrrr
rrrKrr
ceZdZdZeZdSrrrr
rrrWrr
c4t|t_dSr})rwrr)r{s r_force_start_methodrds'9&'A$$$r
c.ttddS)Nspawning_popen)rd_tlsrr
rget_spawning_popenrms4)4000r
c|t_dSr})rr)popens rset_spawning_popenrpsDr
cjt$tdt|jzdS)NzF%s objects should only be shared between processes through inheritance)rrtyper
)objs rassert_spawningrss>#
#%)#YY%7
8	$#r
) rrb	threadingrmrr__all__	ExceptionrrrrobjectrBaseProcessrrrcrrrrrrrwrrlocalrrrrrr
r<module>rs				




					9								\								<								,			x
x
x
x
x
&x
x
x
|DDDDDg!DDD%%%%%[%%%X<7&&&&&g)&&&




w*


&&&&&G/&&&k{JJJJJKJJJ

''))
|x*>*<W*EFF)>*<V*DEE




w*


{
	&~&8&ABBBBBy111   r