e-SSKrSSKrSSKrSSKJr SSKJr Sr"SS\5r"SS \5r "S S \5r "S S \5r "SS\ 5r "SS\R5r"SS\ 5r\R"S:wa"SS\R5r"SS\R5r"SS\R5r"SS\ 5r"SS\ 5r"SS \ 5r\"5\"5\"5S!.r\R"S":Xa \"\S#5rO@\"\S$5rO4"S%S\R5r"S&S\ 5rS#\"50r\"\S#5rS'r\R6"5rS(rS)rS*rg)+N)process) reductionc\rSrSrSrg) ProcessErrorrN__name__ __module__ __qualname____firstlineno____static_attributes__r=/opt/imh/python3.13/lib/python3.13/multiprocessing/context.pyrrrrc\rSrSrSrg)BufferTooShortrNr rrrrrrrrc\rSrSrSrg) TimeoutErrorrNr rrrrrrrrc\rSrSrSrg)AuthenticationErrorrNr rrrrrrrrc\rSrSr\r\r\r\r\"\ R5r \"\ R5r \"\ R5r Sr SrS$SjrSrSrS%S jrS&S jrS&S jrS rS'S jrS(SjrS(SjrSrS)SjrSrSrSS.SjrSS.SjrSrSr S%Sjr!Sr"Sr#Sr$S%Sjr%S*Sjr&S*S jr'\(S!5r)\)RTS"5r)S#r+Sr,g)+ BaseContextcL[R"5nUc [S5eU$)z(Returns the number of CPUs in the systemzcannot determine number of cpus)os cpu_countNotImplementedError)selfnums rr!BaseContext.cpu_count)s#lln ;%&GH HJrcZSSKJn U"UR5S9nUR5 U$)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)managersr' get_contextstart)r#r'ms rManagerBaseContext.Manager1s( * D,,. /  rTcSSKJn U"U5$)z1Returns two connection object connected by a piper)Pipe) connectionr1)r#duplexr1s rr1BaseContext.Pipe<s$F|rc6SSKJn U"UR5S9$)z#Returns a non-recursive lock objectr)Lockr() synchronizer6r+)r#r6s rr6BaseContext.LockAs%((*++rc6SSKJn U"UR5S9$)zReturns a recursive lock objectr)RLockr()r7r:r+)r#r:s rr:BaseContext.RLockF&))+,,rNc6SSKJn U"XR5S9$)zReturns a condition objectr) Conditionr()r7r>r+)r#lockr>s rr>BaseContext.ConditionKs*#3#3#566rc6SSKJn U"XR5S9$)zReturns a semaphore objectr) Semaphorer()r7rBr+)r#valuerBs rrBBaseContext.SemaphorePs*$4$4$677rc6SSKJn U"XR5S9$)z"Returns a bounded semaphore objectr)BoundedSemaphorer()r7rFr+)r#rCrFs rrFBaseContext.BoundedSemaphoreUs1+;+;+=>>rc6SSKJn U"UR5S9$)zReturns an event objectr)Eventr()r7rIr+)r#rIs rrIBaseContext.EventZr<rc8SSKJn U"XX0R5S9$)zReturns a barrier objectr)Barrierr()r7rLr+)r#partiesactiontimeoutrLs rrLBaseContext.Barrier_s(w5E5E5GHHrc6SSKJn U"XR5S9$)Returns a queue objectr)Queuer()queuesrSr+)r#maxsizerSs rrSBaseContext.Queueds!W"2"2"455rc6SSKJn U"XR5S9$)rRr) JoinableQueuer()rTrXr+)r#rUrXs rrXBaseContext.JoinableQueueis)W*:*:*<==rc6SSKJn U"UR5S9$)rRr) SimpleQueuer()rTr[r+)r#r[s rr[BaseContext.SimpleQueuens't//122rrc:SSKJn U"XX4UR5S9$)zReturns a process pool objectr)Pool)context)poolr^r+)r# processes initializerinitargsmaxtasksperchildr^s rr^BaseContext.Poolss$ IH ,,.0 0rc SSKJn U"U/UQ76$)zReturns a shared objectr)RawValue) sharedctypesrg)r#typecode_or_typeargsrgs rrgBaseContext.RawValuezs*(0400rcSSKJn U"X5$)zReturns a shared arrayr)RawArray)rhrm)r#risize_or_initializerrms rrmBaseContext.RawArrays*(>>r)r?cDSSKJn U"U/UQ7UUR5S.6$)z$Returns a synchronized shared objectr)Valuer?r))rhrqr+)r#rir?rjrqs rrqBaseContext.Values/'%--4))+- -rc:SSKJn U"XUUR5S9$)z#Returns a synchronized shared arrayr)Arrayrr)rhrur+)r#rirnr?rus rruBaseContext.Arrays#'%))+- -rcv[RS:Xa%[[SS5(aSSKJn U"5 ggg)z{Check whether this is a fake forked process in a frozen executable. If so then run code specified by commandline and exit. win32frozenFr)freeze_supportN)sysplatformgetattrspawnrz)r#rzs rrzBaseContext.freeze_supports0 <<7 "wsHe'D'D -  (E "rcSSKJn U"5$)zJReturn package logger -- if it does not already exist then it is created. r) get_logger)utilr)r#rs rrBaseContext.get_loggers %|rcSSKJn U"U5$)z8Turn on logging and add a handler which prints to stderrr) log_to_stderr)rr)r#levelrs rrBaseContext.log_to_stderrs'U##rcSSKJn g)zFInstall support for sending connections and sockets between processes r)r2N)r2)r#r2s rallow_connection_pickling%BaseContext.allow_connection_picklings !rc SSKJn U"U5 g)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)r~r)r# executablers rrBaseContext.set_executables *z"rc SSKJn U"U5 g)z[Set list of module names to try to load in forkserver process. This is really just a hint. r)set_forkserver_preloadN) forkserverr)r# module_namesrs rr"BaseContext.set_forkserver_preloads 7|,rc~UcU$[UnUR5 U$![a [SU-5Sef=f)Nzcannot find context for %r)_concrete_contextsKeyError ValueError_check_available)r#methodr)s rr+BaseContext.get_contextsU >K N$V,C   N9FBC M Ns "<cUR$N)_namer# allow_nones rget_start_methodBaseContext.get_start_methods zzrc[S5e)Nz+cannot set start method of concrete context)rr#rforces rset_start_methodBaseContext.set_start_methodsFGGrc4[5RS5$)zWControls how objects will be reduced to a form that can be shared with other processes.r)globalsgetr#s rreducerBaseContext.reducersy}}[))rcU[5S'g)Nr)r)r#rs rrrs!* +rcgrrrs rrBaseContext._check_availables r)Tr)r)NN)r)NNrNF)-r r r rrrrr staticmethodrcurrent_processparent_processactive_childrenr!r.r1r6r:r>rBrFrIrLrSrXr[r^rgrmrqrurzrrrrrr+rrpropertyrsetterrrrrrrrsL#NL-"7#:#:;O!'"8"89N"7#:#:;O  , - 7 8 ? - I 6 > 3 ?A"01 ? 37- DH- $ !#-H**  ^^++ rrc8\rSrSrSr\S5r\S5rSrg)ProcessNc\[R5RRU5$r)_default_contextr+r_Popen) process_objs rrProcess._Popens"++-55<<[IIrcZ[R5RR5$r)rr+r _after_forkrrrrProcess._after_forks ++-55AACCrr r r r r _start_methodrrrrrrrrrs1MJJDDrrcP^\rSrSr\rSrSU4SjjrS SjrS SjrSr Sr U=r $) DefaultContextcXlSUlgr)r_actual_context)r#r_s r__init__DefaultContext.__init__s '#rc|>Uc*URcURUlUR$[TU] U5$r)rrsuperr+)r#r __class__s rr+DefaultContext.get_contexts> >##+'+'<'<$'' '7&v. .rcURbU(d [S5eUcU(aSUlgURU5Ulg)Nzcontext has already been set)r RuntimeErrorr+rs rrDefaultContext.set_start_methodsA    +E=> > >e#'D #//7rczURcU(agURUlURR$r)rrrrs rrDefaultContext.get_start_methods4    '#'#8#8D ##)))rc[RS:XaS/$[RS:XaSS/OSS/n[R(aUR S5 U$)z=Returns a list of the supported start methods, default first.rxr~darwinforkr)r{r|rHAVE_SEND_HANDLEappend)r#methodss rget_all_start_methods$DefaultContext.get_all_start_methodssM <<7 "9 +.<<8+Cw'&RYIZG))|,Nr)rrrr) r r r rrrr+rrrr __classcell__)rs@rrrs&G$/8*rrrxc(\rSrSrSr\S5rSrg) ForkProcessircSSKJn U"U5$Nr)Popen) popen_forkrrrs rrForkProcess._Popens )% %rrNr r r rrrrrrrrrrs  &  &rrc8\rSrSrSr\S5r\S5rSrg) SpawnProcessir~cSSKJn U"U5$r)popen_spawn_posixrrs rrSpawnProcess._Popen 0% %rcgrrrrrrSpawnProcess._after_fork# rrNrrrrrr-  &  &    rrc(\rSrSrSr\S5rSrg)ForkServerProcessi(rcSSKJn U"U5$r)popen_forkserverrrs rrForkServerProcess._Popen*s /% %rrNrrrrrr(s$  &  &rrc\rSrSrSr\rSrg) ForkContexti/rrN)r r r rrrrrrrrrr/s rrc\rSrSrSr\rSrg) SpawnContexti3r~rNr r r rrrrrrrrrr3 rrc"\rSrSrSr\rSrSrg)ForkServerContexti7rcD[R(d [S5eg)Nz%forkserver start method not available)rrrrs rr"ForkServerContext._check_available:s-- !HII.rrN) r r r rrrrrrrrrrr7s# Jrr)rr~rrr~rc8\rSrSrSr\S5r\S5rSrg)riLr~cSSKJn U"U5$r)popen_spawn_win32rrs rrrNrrcgrrrrrrrSrrrNrrrrrrLrrc\rSrSrSr\rSrg)riXr~rNrrrrrrXrrc([U[lgr)rrr)rs r_force_start_methodres'9&'A$rc$[[SS5$)Nspawning_popen)r}_tlsrrrget_spawning_popenr ns 4)4 00rcU[lgr)r r)popens rset_spawning_popenr qs Drc\[5c![S[U5R-5eg)NzF%s objects should only be shared between processes through inheritance)r rtyper )objs rassert_spawningrts4# #%)#Y%7%7 8 $r) r r{ threadingrrr__all__ Exceptionrrrrobjectr BaseProcessrrr|rrrrrrrrrlocalr r r rrrrrs    9  \  <  , x &x |Dg!!D&[&Z<<7&g))& w** &G//&k{JKJ ')  ||x**