fM-0ddlZddlZddlZddlmZddlmZdZGddeZGdd eZ Gd d eZ Gd d eZ Gdde 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__r>/opt/alt/python311/lib64/python3.11/multiprocessing/context.pyrrDr rceZdZdS)BufferTooShortNr rr rrrrr rceZdZdS) TimeoutErrorNr rr rrrrr rceZdZdS)AuthenticationErrorNr rr rrrrr rceZdZeZeZeZeZeej Z eej Z eej Z dZ dZ d&dZdZdZd'dZd(d Zd(d Zd 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)- BaseContextcP tj}|td|S)Nzcannot determine number of cpus)os cpu_countNotImplementedError)selfnums rrzBaseContext.cpu_count)s)6lnn ;%&GHH HJr cx ddlm}||}||S)Nr) SyncManagerctx)managersr get_contextstart)rrms rManagerzBaseContext.Manager1sK *))))) KD,,.. / / /  r Tc& ddlm}||S)Nr)Pipe) connectionr()rduplexr(s rr(zBaseContext.Pipe<s%?$$$$$$tF||r cL ddlm}||S)Nr)Lockr ) synchronizer,r#)rr,s rr,zBaseContext.LockAs61%%%%%%t((**++++r cL ddlm}||S)Nr)RLockr )r-r/r#)rr/s rr/zBaseContext.RLockFs6-&&&&&&u))++,,,,r NcN ddlm}|||S)Nr) Conditionr )r-r1r#)rlockr1s rr1zBaseContext.ConditionKs8(******y4#3#3#5#56666r rcN ddlm}|||S)Nr) Semaphorer )r-r4r#)rvaluer4s rr4zBaseContext.SemaphorePs8(******yD$4$4$6$67777r cN ddlm}|||S)Nr)BoundedSemaphorer )r-r7r#)rr5r7s rr7zBaseContext.BoundedSemaphoreUs901111114+;+;+=+=>>>>r cL ddlm}||S)Nr)Eventr )r-r9r#)rr9s rr9zBaseContext.EventZs6%&&&&&&u))++,,,,r cR ddlm}|||||S)Nr)Barrierr )r-r;r#)rpartiesactiontimeoutr;s rr;zBaseContext.Barrier_s<&((((((wwT5E5E5G5GHHHHr rcN ddlm}|||S)Nr)Queuer )queuesr@r#)rmaxsizer@s rr@zBaseContext.Queueds8$!!!!!!uW$"2"2"4"45555r cN ddlm}|||S)Nr) JoinableQueuer )rArDr#)rrBrDs rrDzBaseContext.JoinableQueueis8$))))))}W$*:*:*<*<====r cL ddlm}||S)Nr) SimpleQueuer )rArFr#)rrFs rrFzBaseContext.SimpleQueuens6$''''''{t//112222r rcT ddlm}||||||S)Nr)Pool)context)poolrHr#)r processes initializerinitargsmaxtasksperchildrHs rrHzBaseContext.PoolssH+tI{H6F ,,..000 0r c" ddlm}||g|RS)Nr)RawValue) sharedctypesrP)rtypecode_or_typeargsrPs rrPzBaseContext.RawValuezs0%******x(040000r c( ddlm}|||S)Nr)RawArray)rQrU)rrRsize_or_initializerrUs rrUzBaseContext.RawArrays+$******x(*=>>>r )r2cN ddlm}||g|R||dS)Nr)Valuer2r!)rQrXr#)rrRr2rSrXs rrXzBaseContext.ValuesU2''''''u%---4))++--- -r cR ddlm}|||||S)Nr)ArrayrY)rQr[r#)rrRrVr2r[s rr[zBaseContext.ArraysG1''''''u%':))++--- -r c| tjdkr(ttddrddlm}|dSdSdS)Nwin32frozenFr)freeze_support)sysplatformgetattrspawnr_)rr_s rr_zBaseContext.freeze_supports[  <7 " "wsHe'D'D " - - - - - - N      # " " "r c$ ddlm}|S)Nr) get_logger)utilre)rres rrezBaseContext.get_loggers'  %$$$$$z||r c& ddlm}||S)Nr) log_to_stderr)rfrh)rlevelrhs rrhzBaseContext.log_to_stderrs'F''''''}U###r c ddlm}dS)Nr)r))r))rr)s rallow_connection_picklingz%BaseContext.allow_connection_picklings! !       r c* ddlm}||dS)Nr)set_executable)rcrn)r executablerns rrnzBaseContext.set_executables1  *)))))z"""""r c* ddlm}||dS)Nr)set_forkserver_preload) forkserverrq)r module_namesrqs rrqz"BaseContext.set_forkserver_preloads2  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)rwrryforces rset_start_methodzBaseContext.set_start_methodsFGGGr cF tdSNr)globalsgetrs rreducerzBaseContext.reducers (yy}}[)))r c(|td<dSr)r)rrs rrzBaseContext.reducers!* +r cdSr{rrs rrxzBaseContext._check_availables r )Tr{)r)NN)r)NNrNF)+r r r rrrr staticmethodrcurrent_processparent_processactive_childrenrr&r(r,r/r1r4r7r9r;r@rDrFrHrPrUrXr[r_rerhrlrnrqr#rrpropertyrsetterrxrr 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 r r _start_methodrrrrr rrrsUMJJ\JDD\DDDr rc@eZdZeZdZdfd Zd dZd dZdZxZ S) DefaultContextc"||_d|_dSr{)r_actual_context)rrIs r__init__zDefaultContext.__init__s '#r Nc~||j |j|_|jSt|Sr{)rrsuperr#)rry __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|r}s rrzDefaultContext.get_start_methods/   ' t#'#8D #))r ctjdkrdgStjdkrddgnddg}tjr|d|S)Nr]rcdarwinforkrr)r`rarHAVE_SEND_HANDLEappend)rmethodss rget_all_start_methodsz$DefaultContext.get_all_start_methodssZ <7 " "9 +.<8+C+Cw''&RYIZG) -|,,,Nr r{r) r r r rrr#rrr __classcell__)rs@rrrsG$$$//////8888****r rr]c(eZdZdZedZdS) ForkProcessrc$ddlm}||SNr)Popen) popen_forkrrrs rrzForkProcess._Popens$ ) ) ) ) ) )5%% %r Nr r r rrrrr rrrs2  & &  & & &r rc>eZdZdZedZedZdS) SpawnProcessrcc$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)ForkServerProcessrrc$ddlm}||Sr)popen_forkserverrrs rrzForkServerProcess._Popen)s$ / / / / / /5%% %r Nrrr rrr's2$  & &  & & &r rceZdZdZeZdS) ForkContextrN)r r r r|rrrr rrr.sr rceZdZdZeZdS SpawnContextrcNr r r r|rrrr rrr2r rceZdZdZeZdZdS)ForkServerContextrrc<tjstddS)Nz%forkserver start method not available)rrrwrs rrxz"ForkServerContext._check_available9s)- J !HIII J Jr N)r r r r|rrrxrr rrr6s2# J J J J Jr r)rrcrrrrcrc>eZdZdZedZedZdS)rrcc$ddlm}||Sr)popen_spawn_win32rrs rrzSpawnProcess._PopenMrr cdSr{rrr rrzSpawnProcess._after_forkRrr Nrrr rrrKrr ceZdZdZeZdSrrrr rrrWrr c4t|t_dSr{)rurr)rys r_force_start_methodrds'9&'A$$$r c.ttddS)Nspawning_popen)rb_tlsrr rget_spawning_popenrms 4)4 0 00r 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 ) rr` threadingrkrr__all__ Exceptionrrrrobjectr BaseProcessrrrarrrrrrrurrlocalrrrrrr rrs        9        \        <        ,   x x x x x &x x x |DDDDDg!DDD%%%%%[%%%X<7&&&&&g)&&&     w*   &&&&&G/&&&k{JJJJJKJJJ ''))  |x*>**