g gdZddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z ddlmZmZmZddl mZdd l mZdd l mZdd l mZ dd l mZd Zej1ddZej6ejedDcgc]}eei|c}ZdZeD]Z ej6e e[ [Gdde!Z"difdZ#dZ$Gdde%Z&dZ'dZ(Gdde!Z)Gdde!Z*e jVe jXfe jZe j\fd Z/Gd!d"e!Z0Gd#d$e1Z2Gd%d&e!Z3d'Z4ifd(Z5 dbd)Z6Gd*d+e!Z7Gd,d-e!Z8dcd.Z9Gd/d0e3Z:Gd1d2e3Z;Gd3d4e;Z<Gd5d6e3Z=Gd7d8e3Z>Gd9d:e3Z?Gd;dZAGd?d@eAZBe5dAdBZCdCdDieC_De5dEdFZEe5dGdHZFdIdIdIdDdDdJeF_DGdKdGeFZGGdLdMe0ZHeHj7dNejeHj7dOejeHj7dPeje=eHj7dQeje;eHj7dReje;eHj7dSeje;eHj7dTeje;eHj7dUeje<eHj7dVeje>eHj7dWejeGeHj7dXeReBeHj7dYeSeCeHj7d-e8e@eHj7dZe9eEeHj7d+e7e?eHj7dDe:d[eHj7dId\er!Gd]d^ZTGd_d`e)ZUGdade0ZVyy#e$rdZYwxYwcc}w)d) BaseManager SyncManager BaseProxyTokenN)getpid) format_exc) connection) reductionget_spawning_popen ProcessError)pool)process)util) get_context) shared_memoryTSharedMemoryManagerFcZtj|j|jffSN)arraytypecodetobytes)as ?/opt/alt/python312/lib64/python3.12/multiprocessing/managers.py reduce_arrayr/s ;;QYY[1 11)itemskeysvaluesc&tt|ffSr)listobjs rrebuild_as_listr$4s $s) rc*eZdZ dZdZdZdZdZy)rtypeidaddressidc0|||c|_|_|_yrr&)selfr'r(r)s r__init__zToken.__init__Ds06,dlDGrcH|j|j|jfSrr&r+s r __getstate__zToken.__getstate__Gs T\\47733rc.|\|_|_|_yrr&r+states r __setstate__zToken.__setstate__Js/4,dlDGrc|jjd|jd|jd|jdS)Nz(typeid=z , address=z, id=)) __class____name__r'r(r)r.s r__repr__zToken.__repr__Ms-''dllDGGM MrN)r7 __module__ __qualname__ __slots__r,r/r3r8rrrr>s$,IE45Mrrr<cz |j||||f|j\}}|dk(r|St||)N#RETURN)sendrecvconvert_to_error)cr) methodnameargskwdskindresults rdispatchrHUsGFFB D$ '(668LD& y 4 ((rc |dk(r|S|dvrSt|ts%tdj||t ||dk(rt d|zSt |St dj|S)N#ERROR) #TRACEBACK#UNSERIALIZABLEz.Result {0!r} (kind '{1}') type is {2}, not strrLzUnserializable message: %s zUnrecognized message type {!r}) isinstancestr TypeErrorformattype RemoteError ValueError)rFrGs rrArA_s x 2 2&#&@GGD$v,01 1 $ $=FG Gv& &:AA$GHHrceZdZdZy)rRc>dt|jdzdzS)NzM --------------------------------------------------------------------------- rzK---------------------------------------------------------------------------)rNrDr.s r__str__zRemoteError.__str__os$s499Q<'886ABrN)r7r9r:rVr<rrrRrRnsCrrRc~ g}t|D]+}t||}t|s|j|-|Sr)dirgetattrcallableappend)r#tempnamefuncs r all_methodsr_vsB DCsD! D> KK  KrcR t|Dcgc] }|ddk7s |c}Scc}w)Nr_)r_)r#r]s rpublic_methodsrbs2)- @-TaCD- @@ @s $$ceZdZ gdZdZdZdZdZdZdZ dZ d Z d Z e e e d Z d Zd ZdZdZdZdZdZdZdZy)Server) shutdowncreateaccept_connection get_methods debug_infonumber_of_objectsdummyincrefdecrefczt|ts$tdj|t |||_t j||_t|\}}||d|_ |jj|_ ddi|_ i|_ i|_tj |_y)Nz&Authkey {0!r} is type {1!s}, not bytes)r(backlog0Nr<)rMbytesrOrPrQregistryrAuthenticationStringauthkeylistener_clientlistenerr( id_to_objid_to_refcountid_to_local_proxy_obj threadingLockmutex)r+rtr(rv serializerListenerClients rr,zServer.__init__s'5)8??T'],- -! 33G< *:6&!#> }},, z* %'"^^% rc tj|_|tj_ tj |j}d|_|j |jjs6|jjd|jjs6tjtj k7rGt#j$dtj t_tj&t_tj*dy#ttf$rYwxYw#tjtj k7rGt#j$dtj t_tj&t_tj*dwxYw)N)targetTr zresetting stdout, stderrr)r|Event stop_eventrcurrent_process_manager_serverThreadaccepterdaemonstartis_setwaitKeyboardInterrupt SystemExitsysstdout __stdout__rdebug __stderr__stderrexit)r+rs r serve_foreverzServer.serve_forevers% $//+48!1  ''t}}=H"HO NN  //002OO((+//002 zzS^^+ 56 ^^  ^^ HHQK&z2  zzS^^+ 56 ^^  ^^ HHQKs+7E-AD;;E  E E  EA?Gc |jj}tj|j |f}d|_|jU#t$rYawxYw)NTrrD)rxacceptOSErrorr|rhandle_requestrr)r+rBts rrzServer.acceptersa MM((*  (;(;1$GAAH GGI  sA A#"A#cd} tj||jtj||j|j }|\}}}}t ||} ||g|i|}d|f} |j| y#t $rdtf} Y*wxYw#t $rdtf} YEwxYw#t $rx} |jdtfn#t $rYnwxYwtjd| tjd|tjd| Yd} ~ yd} ~ wwxYw)Nr>rKzFailure to send message: %rz ... request was %r ... exception was %r) r deliver_challengervanswer_challenger@rY Exceptionrr?rinfo) r+rBrequestignorefuncnamerDrEr^rGmsges r_handle_requestzServer._handle_requests2 *  ( (DLL 9  ' '4<< 8ffhG+2 (FHdD4*D *a/$/$/!&) 2 FF3K  3#Z\2 3  /.C / 2  jl34   II3S 9 II+W 5 II-q 1 1 2s[A#B&( B 9C B#"B#&B>=B> E C'&D=' C30D=2C33AD==Ec |j||jy#t$rYwxYw#|jwxYwr)rrcloser+conns rrzServer.handle_requestsE     & JJL     JJLs% 1414Ac& tjdtjj|j }|j }|j}|jjs dx}}|}|\}}} } ||\}} } || vrtd|dt|d| t||} || i| }| xr| j|d}|r4|j!|||\}}t#||j$|}d||ff}nd|f} ||jjsyy#t$r.} |j|\}} } n#t$r| wxYwYd} ~ d} ~ wwxYw#t&$r}d|f}Yd}~sd}~wwxYw#t$rQ dt)f}n? |j*|}|||g i }d|f}n#t&$rdt)f}YnwxYwYt,$rKtjd tjjt/j0d Y&t&$rdt)f}Y=wxYw#t&$r|d t)fYUwxYw#t&$r}tj2d tjjtj2d tj2d||j5t/j0dYd}~d}~wwxYw)Nz$starting server thread to service %rzmethod z of z object is not in exposed=#PROXYr>rJrKz$got EOF -- exiting thread serving %rrrLzexception in thread serving %rz ... message was %rrr )rrr|current_threadr]r@r?ryrrKeyErrorr{AttributeErrorrQrYgetrfrr(rrfallback_mappingEOFErrorrrrr)r+rr@r?ryrCr#ridentrDrEexposed gettypeidkefunctionresr'ridentrexposedtokenrr fallback_funcrGs r serve_clientzServer.serve_clients   9++-22 4yyyyNN //((*5 3#'' S&07-z4!.7.>+C)W,(#T#Y9 #3 3 /"D1D1C'J9==T+JF+/;;tVS+I( %fdllF C'(E):;(#.. <Iw//((* !! 66u=0Wi#! !'0!"!(#Q-C(" ;%'6C;(,(=(=j(I !. $s"59"=A" )&1$;+Z\:;  A$335::<  3#Z\2 3 !<+Z\:;<  :!002779 /5 115   s3F D=-F=E7AFI= E4EE/ E''E/*F/E44F7 FF F FFI*"G  I G%"I$G%%I*AI<III62I95I66I99 LBL  Lc|Srr<r+rrr#s rfallback_getvaluezServer.fallback_getvalue?s rct|SrrNrs r fallback_strzServer.fallback_strBs 3xrct|Sr)reprrs r fallback_reprzServer.fallback_reprEs Cyr)rVr8 #GETVALUEcyrr<r+rBs rrkz Server.dummyNs rc t |j5g}t|jj}|j |D]K}|dk7s |j d|d|j|dt |j|dddMdj|cdddS#1swYyxYw)Nrqz z: refcount=z rK ) r~r!rzrsortr[rNryjoin)r+rBrGrrs rrizServer.debug_infoQs ZZF++0023D IIKC<MM#($*=*=e*D#&t~~e'Nr)rrr? traceback print_excrset)r+rBrs rrezServer.shutdownhs_  " JJ: ; FF$ % OO   !  "     ! OO   !s&AAAA;c p |j5|j|\}}}}|!|st|dk7r td|d} n||i|} | t | }|Kt |t s$tdj|t|t|t|z}dt| z} tjd|| | t||f|j| <| |j vrd|j | <ddd|j#| | t%fS#1swY(xYw)Nr z4Without callable, must have one non-keyword argumentrz,Method_to_typeid {0!r}: type {1!s}, not dictz%xz&%r callable returned object with id %r)r~rtrrSrbrMdictrOrPrQr!r)rrrryrzrltuple) r+rBr'rDrErZrmethod_to_typeid proxytyper#rs rrfz Server.createusJ ZZmmF+ ;Hg/CIN$NPP1g--(-+!"2D9#FMM,d3C.DFGGw-$/?*@@2c7NE JJ? O%(#g,8H$IDNN5 !D///-.##E*7: AueGn$$=Zs C7D,,D5cN t|j|jdS)Nr )rryr))r+rBrs rrhzServer.get_methodss& T^^EHH-a011rc| |tj_|jd|j |y)Nr)r|rr]r?r)r+rBr]s rrgzServer.accept_connections5 +/   "'  ! !rcF|j5 |j|xxdz cc<dddy#t$r\}||jvrBd|j|<|j||j|<t j d|n|Yd}~id}~wwxYw#1swYyxYw)Nr z&Server re-enabled tracking & INCREF %r)r~rzrr{ryrr)r+rBrrs rrlz Server.increfs ZZ ##E*a/*Z  D66612D''.2259NN5)JJGOHP Zs,B/ BAB BBBB c l||jvr%||jvrtjd|y|j5|j|dkr6t dj ||j||j||j|xxdzcc<|j|dk(r |j|=ddd||jvrHd|j|<tjd||j5|j|=dddyy#1swY`xYw#1swYyxYw)NzServer DECREF skipping %rrz+Id {0!s} ({1!r}) has refcount {2:n}, not 1+r )Nr<Nzdisposing of obj with id %r)rzr{rrr~AssertionErrorrPry)r+rBrs rrmz Server.decrefs ++ + T// / JJ2E :  ZZ""5)Q.$AHHt~~e4++E2455    &! + &""5)Q.''. ++ + %5DNN5 ! JJ4e <NN5) ,Z$sA?DD*D'*D3N)r7r9r:publicr,rrrrrrrrrrkrirjrerfrhrgrlrmr<rrrdrdsNF&$,2< Ob %   % ( ""%H2 "*rrdceZdZdgZdZdZdZy)Statevaluerr N)r7r9r:r;INITIALSTARTEDSHUTDOWNr<rrrrs IGGHrr)pickle xmlrpclibceZdZ iZeZ ddddZdZdZddZ e ddZ d Z dd Z d Zd Zd ZdZedZedZe ddZy)rNg?)shutdown_timeoutcP|tjj}||_tj||_t |_t j|j_ ||_ t|\|_ |_ |xs t|_||_yr)rrrv_addressru_authkeyr_staterr _serializerrw _Listener_Clientr_ctx_shutdown_timeout)r+r(rvrctxrs rr,zBaseManager.__init__s~ ?--/77G 44W= g !MM %'6z'B$ (;= !1rc |jjtjk7r|jjtjk(r t d|jjtj k(r t dt dj|jjt|j|j|j|jS)NAlready started serverManager has shut downUnknown state {!r}) rrrrrr rrPrd _registryrrrr.s r get_serverzBaseManager.get_servers  ;;   -{{  EMM1"#;<<""enn4"#:;;"(// 0A0ABDDdnndmmmmT%5%57 7rc t|j\}}||j|j}t |ddt j |j_y)Nrvrk) rwrrrrHrrrr)r+rrrs rconnectzBaseManager.connectsN +4+;+;<&dmmT]];tW%!MM rc  |jjtjk7r|jjtjk(r t d|jjtj k(r t dt dj|jj|t|s tdtjd\}}|jjt|j|j |j"|j$|j&|||f|_dj+d |j(j,D}t|j.d z|z|j(_|j(j3|j5|j7|_|j5tj|j_t9j:|t|j<|j(|j"|j$|j|j>|j@fd |_!y) Nrrrzinitializer must be a callableF)duplexr:c32K|]}t|ywrr).0is r z$BaseManager.start..0sA)@AQ)@s-rrD exitpriority)"rrrrrr rrPrZrOr PiperProcessrQ _run_serverrrrr_processr _identityr7r]rrr@rFinalize_finalize_managerrrre)r+ initializerinitargsreaderwriterrs rrzBaseManager.starts  ;;   -{{  EMM1"#;<<""enn4"#:;;"(// 0A0ABDD  "8K+@<= =$6 )):))..$--""FKC* A)@)@AA!$Z00C7%?       "MM  $t*..-- t{{,, 6 68  rcV tjtjtj||||j||||}|j |j |j tjd|j |jy)Nzmanager serving at %r) signalSIGINTSIG_IGN_Serverr?r(rrrr) clsrtr(rvrrrrservers rrzBaseManager._run_serverBs   fmmV^^4  "  "XwD  FNN#  )6>>:rc |j|j|j} t|dd|f|z|\}}|j t ||j||fS#|j wxYw)Nrrf)rrrrHrr)r+r'rDrErr)rs r_createzBaseManager._createYsr ||DMM4==|A "4x&4NKB JJLVT]]B/88 JJLs A))A;c |j>|jj||jjsd|_yyyr)rris_aliver+timeouts rrzBaseManager.joinesF  == $ MM  w '==))+ $ , %rc |j|j|j} t|dd|j S#|j wxYw)NrrirrrrHrrs r _debug_infozBaseManager._debug_infonsG ||DMM4==|A D$ 5 JJLDJJL AAc |j|j|j} t|dd|j S#|j wxYw)Nrrjr%rs r_number_of_objectszBaseManager._number_of_objectsxsH ||DMM4==|A D$(;< JJLDJJLr'c|jjtjk(r|j |jjtj k7r|jjtjk(r t d|jjtjk(r t dt dj|jj|S)NzUnable to start serverrr) rrrrrrr rrPr.s r __enter__zBaseManager.__enter__s ;;   - JJL ;;   -{{  EMM1"#;<<""enn4"#:;;"(// 0A0ABDD rc$|jyr)rer+exc_typeexc_valexc_tbs r__exit__zBaseManager.__exit__s  rc |jrtjd |||} t|dd|j  |j ||jrtjdt|drtjd|j|j ||jr7tjd|j|j tj|_ tj|=y#|j wxYw#t $rYwxYw#t$rYywxYw) Nz#sending shutdown message to managerrre)r#zmanager still alive terminatez'trying to `terminate()` manager processz#manager still alive after terminate)r!rrrHrrrhasattrr3killrrrr_address_to_localr)rr(rvr2rrrs rrzBaseManager._finalize_managers/  7    II; < w8!T44JJL GLL!1 2w! /07K0IIGH%G%%' GLL)9:'w'') "GH$ $ nn  ++G4%JJL  $   s: E EE/E&EE E#"E#& E21E2c|jSr)rr.s rr(zBaseManager.addresss }}rc^ d|jvr|jj|_t|xs t dd}|xs t dd}|r!t |j D]\}}|||f|j<|rfd} | _t|| yy)Nr _exposed__method_to_typeid_c(tjd|jg|i|\}}||j||j|}|j |j |j}t|dd|jf|S)Nz)requesting creation of a shared %r objectmanagerrvrrrm) rrrrrrr(rHr)) r+rDrErexpproxyrrr's rr\z"BaseManager.register..temps FO)T\\&@4@4@ s!4++T MM3||EMM4==|ItX{; r) __dict__rcopy AutoProxyrYr!rr7setattr) rr'rZrrr create_methodkeyrr\s ` ` rregisterzBaseManager.registers  cll *MM..0CM  !IBWY TB+J"9.BDI  "#3#9#9#;< U< g/! f  #DM C & r)NNrNrrr)NNNNT)r7r9r:rrdrr,rrr classmethodrrrr&r)r+r1 staticmethodrpropertyr(rFr<rrrrsIG>F 2/2 2 7*)V/1, 9%   DEI6:%'%'rrceZdZdZdZy)ProcessLocalSetc2tj|dy)Nc"|jSr)clearr"s rz*ProcessLocalSet.__init__..s 399;r)rregister_after_forkr.s rr,zProcessLocalSet.__init__s   '>?rct|dfSrr)rQr.s r __reduce__zProcessLocalSet.__reduce__sDz2~rN)r7r9r:r,rRr<rrrKrKs @rrKceZdZ iZej ZdZ ddZdZ difdZ dZ dZ e d Zd Zd Zd Zd ZdZy)rr Ncntj5tjj|jd}|;t j tf}|tj|j<tj|_ txjdz c_dddd|_ |d|_ ||_ |jj|_||_||_t"|d|_||_|t)j*||_nK|j|jj,|_n#t)j.j0|_|r|j3t j4|tj6y#1swYxYw)Nr r)r_mutexr6rr(rForkAwareLocalrK _next_serial_serial_tls _all_serials_tokenr)_id_managerrrwr_owned_by_managerrrurrrv_increfrP _after_fork) r+rrr=rvrrl manager_owned tls_serialss rr,zBaseProxy.__init__sJ   #5599%--NK""113_5FF =H ++EMM:$11DL  " "a ' " N (N ;;>> %&z215 "/  #88ADM ]] & MM22DM#335==DM  LLN   y'<'<=Q s BF**F4ctjdtjj}t j jdk7r$|dt j jzz }|j|jj|j}t|dd|f||j_ y)Nzmaking connection to manager MainThread|rrg)rrrrr]r|rrr[r(rrHrYr )r+r]rs r_connectzBaseProxy._connect&s 12&&(--  # # % * *l : C)224999 9D||DKK//|Gt04':# rr<c |jj}|j|j|||f|j\}}|dk(r|S|dk(r|\}}|jj|jd} |jj |_| ||j"|j|j$|} |j'|j |j$}t)|dd|j*f| St-||#t$r\tjdt j j|j|jj}YawxYw)Nz#thread %r does not own a connectionr>rr<rrm)rYr rrrr|rr]rfr?r\r@r]rr'r[r(rrrrHr)rA) r+rCrDrErrFrGrrrr?s r _callmethodzBaseProxy._callmethod/sA  (99''D 488Zt45yy{ f 9 M X #NGU // =bAI KK//EMt'' wE<< t}}<ED T4EHH; 7LtV,,- ( JJ< //166 8 MMO99''D  (sDA!E;:E;c& |jdS)Nrrir.s r _getvaluezBaseProxy._getvalueMs  ,,rc |jr+tjd|jjy|j |jj |j}t|dd|jftjd|jj|jj|j|jxr|jj}tj|t j"|j|j|j||j$|j|j fd|_y)Nz%owned_by_manager skipped INCREF of %rrrlz INCREF %r r )r^rrr[r)rr(rrHr\rZaddrXr]rrr_decrefrY_close)r+rr2s rr_zBaseProxy._increfSs  ! ! JJ>  O ||DKK//|GtX{3 ; / dll+ 6$--"6"6mm )##++t||T]]E))T.. >  rcV|j|||jtjk(rO t j d|j ||j|}t|dd|j fn t j d|j |s\t|drOt j dtjj|jj|`yyy#t$r }t j d|Yd}~d}~wwxYw)Nz DECREF %rrrmz... decref failed %sz%DECREF %r -- manager already shutdownr z-thread %r has no more proxies so closing conn)discardrrrrrr)r(rHrr4r|rr]r r) rserialrvr2tlsidsetrrrs rrpzBaseProxy._decrefgs f =EKK5==8 6 ;1u}}g>tX{; JJ> Il3 JJF //166 8 NN " 4u 6 1155 6sA C?? D(D##D(cd|_ |jy#t$r"}tjd|zYd}~yd}~wwxYw)Nzincref failed: %s)r]r_rrr)r+rs rr`zBaseProxy._after_forks<  / LLN / II)A- . . /s AAAc i}t|j|d<t|ddr3|j|d<tt |j |j|ffStt||j |j|ffS)Nrv_isautoFr) r rrYr9 RebuildProxyrBr[rrQr+rEs rrRzBaseProxy.__reduce__s   +"mmDO 4E *"nnDO  T-=-=tDF F!$Zd.>.>EG Grc"|jSr)rl)r+memos r __deepcopy__zBaseProxy.__deepcopy__s~~rcrdt|j|jjt |fzS)Nz<%s object, typeid %r at %#x>)rQr7r[r'r)r.s rr8zBaseProxy.__repr__s3.T ##T[[%7%7DBC Crch |jdS#t$rt|dddzcYSwxYw)Nr8rhz; '__str__()' failed>)rirrr.s rrVzBaseProxy.__str__sB  =##J/ / =:cr?%<< < =s 11NNNTF)r7r9r:r6rForkAwareThreadLockrUrWr,rfrirlr_rHrpr`rRr~r8rVr<rrrrs| %T % % 'FL26HM*>X$,.B-<- (0/ G C=rrc ttjdd}|r||j|jk(rct j d|d|d<|j |jvr0|j|j |j|j <|jddxr ttjdd }|||fd|i|S)Nrz*Rebuild a proxy owned by manager, token=%rTrarl _inheritingF) rYrrr(rrr)r{rypop)r^rrrErrls rrzrzsW,,.0A4 HF &..EMM1 ?G $_ 88677 7  *  ( ( 2 4  E G++-}e DD  z 9& 9D 99rc t|} |||fS#t$rYnwxYwi}|D]}td|d|d|t|tf|}||_||||f<|S)Nzdef z:(self, /, *args, **kwds): return self._callmethod(z , args, kwds))rrexecrQrr9)r]r_cachedicmeth ProxyTypes r MakeProxyTypersGnG tWo&&     C 6:DBCF HTI<-I!I'FD'? s  !!cr t|d}|4||j|} t|dd|f}|j|| |j}|t j j}td|jz|} | ||||||} d| _ | S#|jwxYw)Nr rrhz AutoProxy[%s])r=rvrlraT) rwr(rHrrrrrvrr'ry) rrr=rvrrlrarrrr?s rrBrBsj)!,Gu}}g6 tT=5(CG JJL7.""))+33o >22DIIdODDrN)r7r9r:r,r8r<rrrrs #Errc8eZdZddZdZdZdZeeeZy)Valuec ||_||_yr) _typecode_value)r+rrlocks rr,zValue.__init__s! rc|jSrrr.s rrz Value.gets {{rc||_yrrr+rs rrz Value.sets  rcft|jd|jd|jdS)Nrrr5)rQr7rrr.s rr8zValue.__repr__s!!$Z00$..$++NNrNT) r7r9r:r,rrr8rIrr<rrrrs#O S# Errc.tj||Sr)r)rsequencers rArrayr s ;;x **rc.eZdZdZdZdZdZdZdZy) IteratorProxy)__next__r?throwrc|Srr<r.s r__iter__zIteratorProxy.__iter__ rc&|jd|S)Nrrkr+rDs rrzIteratorProxy.__next__s D11rc&|jd|S)Nr?rkrs rr?zIteratorProxy.sends--rc&|jd|S)Nrrkrs rrzIteratorProxy.throw..rc&|jd|S)Nrrkrs rrzIteratorProxy.closerrN) r7r9r:r9rrr?rrr<rrrrs 6I2.//rrc*eZdZdZddZdZdZdZy) AcquirerProxy)acquirereleaseNc8||fn||f}|jd|SNrrk)r+blockingr#rDs rrzAcquirerProxy.acquire s'%o{Hg3F 400rc$|jdSNrrkr.s rrzAcquirerProxy.release# **rc$|jdSrrkr.s rr+zAcquirerProxy.__enter__%rrc$|jdSrrkr-s rr1zAcquirerProxy.__exit__'rr)TN)r7r9r:r9rrr+r1r<rrrrs&I1+++rrc.eZdZdZddZddZdZddZy) ConditionProxy)rrrnotify notify_allNc(|jd|fSNrrkr"s rrzConditionProxy.wait- 33rc(|jd|fS)Nrrk)r+ns rrzConditionProxy.notify/s1$//rc$|jdS)Nrrkr.s rrzConditionProxy.notify_all1s --rc|}|r|S|tj|z}nd}d}|s<||tjz }|dkr |S|j|}|s<|S)Nr)time monotonicr)r+ predicater#rGendtimewaittimes rwait_forzConditionProxy.wait_for3s~ M  nn&0GGH""T^^%55q=  IIh [F  rr)r )r7r9r:r9rrrrr<rrrr+sFI40.rrc*eZdZdZdZdZdZddZy) EventProxy)rrrNrc$|jdS)Nrrkr.s rrzEventProxy.is_setHs))rc$|jdSNrrkr.s rrzEventProxy.setJ&&rc$|jdS)NrNrkr.s rrNzEventProxy.clearL((rNc(|jd|fSrrkr"s rrzEventProxy.waitNrrr)r7r9r:r9rrrNrr<rrrrFs2I*')4rrcTeZdZdZd dZdZdZedZedZ edZ y) BarrierProxy)__getattribute__rabortresetNc(|jd|fSrrkr"s rrzBarrierProxy.waitTrrc$|jdS)Nrrkr.s rrzBarrierProxy.abortVrrc$|jdS)Nrrkr.s rrzBarrierProxy.resetXrrc&|jddS)Nr)partiesrkr.s rrzBarrierProxy.partiesZs 2LAArc&|jddS)Nr) n_waitingrkr.s rrzBarrierProxy.n_waiting]s 2NCCrc&|jddS)Nr)brokenrkr.s rrzBarrierProxy.broken`s 2K@@rr) r7r9r:r9rrrrIrrrr<rrrrRsR>I4)) BB DD AArrc"eZdZdZdZdZdZy)NamespaceProxy)r __setattr__ __delattr__c~|ddk(rtj||Stj|d}|d|fS)Nrrarir)objectrr+rE callmethods r __getattr__zNamespaceProxy.__getattr__gsB q6S=**45 5,,T=A ,sf55rc|ddk(rtj|||Stj|d}|d||fS)Nrrarir)rrr)r+rErrs rrzNamespaceProxy.__setattr__lsE q6S=%%dC7 7,,T=A -#u66rc~|ddk(rtj||Stj|d}|d|fS)Nrrarir)rrrrs rrzNamespaceProxy.__delattr__qsA q6S=%%dC0 0,,T=A -#00rN)r7r9r:r9rrrr<rrrresBI6 7 1rrcReZdZdZdZdZeeeZee jZ y) ValueProxy)rrc$|jdS)Nrrkr.s rrzValueProxy.getzrrc(|jd|fSrrkrs rrzValueProxy.set|sx00rN) r7r9r:r9rrrIrrGtypes GenericAlias__class_getitem__r<rrrrxs.I'1 S# E#E$6$67rr BaseListProxy)__add__ __contains__ __delitem__ __getitem____len____mul__ __reversed____rmul__ __setitem__r[countextendindexinsertrremovereverser__imul__ceZdZdZdZy) ListProxyc,|jd|f|S)Nrrkrs r__iadd__zListProxy.__iadd__s E8, rc,|jd|f|S)Nr rkrs rr zListProxy.__imul__s eX. rN)r7r9r:r r r<rrr r s rr  DictProxy)rrrrrrrNrArrrrpopitem setdefaultrrrIterator ArrayProxy)rrr PoolProxy) apply apply_asyncrimapimap_unorderedrmap map_asyncstarmap starmap_asyncr3 AsyncResult)rrrrrceZdZdZdZy)rc|Srr<r.s rr+zPoolProxy.__enter__rrc$|jyr)r3r-s rr1zPoolProxy.__exit__s  rN)r7r9r:r+r1r<rrrrs rc eZdZy)rN)r7r9r:r<rrrrsrrQueue JoinableQueuerr}RLock SemaphoreBoundedSemaphore ConditionBarrierPoolr!rr)rrD)rDc<eZdZ gfdZdZdZdZdZdZdZ y) _SharedMemoryTrackerc ||_||_yrshared_memory_context_name segment_names)r+r]r/s rr,z_SharedMemoryTracker.__init__s.2D +!.D rc tjd|dt|jj |y)NzRegister segment  in pid )rrrr/r[r+ segment_names rregister_segmentz%_SharedMemoryTracker.register_segments6 D JJ*<*:(68*M N    % %l 3rc tjd|dt|jj |t j |}|j|jy)NzDestroy segment r1) rrrr/rr SharedMemoryrunlink)r+r3segments rdestroy_segmentz$_SharedMemoryTracker.destroy_segments\ E JJ),)9&(L M    % %l 3#00>G MMO NN rcP |jddD]}|j|yr)r/r9r2s rr7z_SharedMemoryTracker.unlinks( J $ 2 21 5 $$\2!6rctjd|jjdt |j y)NzCall z .__del__ in )rrr6r7rr7r.s r__del__z_SharedMemoryTracker.__del__s1 JJt~~667|FH:N O KKMrc2|j|jfSrr-r.s rr/z!_SharedMemoryTracker.__getstate__s33T5G5GH Hrc"|j|yr)r,r1s rr3z!_SharedMemoryTracker.__setstate__s DMM5 !rN) r7r9r:r,r4r9r7r<r/r3r<rrr+r+s,5/1 / 4   3   I "rr+cReZdZejgdzZdZdZdZdZdZ dZ y) SharedMemoryServer) track_segmentrelease_segment list_segmentsctj|g|i||j}t|trt j |}td|dt|_ tjdty)Nshm_raz"SharedMemoryServer started by pid ) rdr,r(rMrsosfsdecoder+rshared_memory_contextrr)r+rDkwargsr(s rr,zSharedMemoryServer.__init__sn OOD 24 26 2llG'5)++g.$tG9AfhZ%@A  & JJ;FH:F Grc t|j|ddr|j|d<tj|||g|i|S)Nrh_shared_memory_proxyrH)r4rtrHrdrf)r+rBr'rDrIs rrfzSharedMemoryServer.createsQ M t}}V,R02HI262L2L./==q&B4B6B Brcd |jjtj||Sr)rHr7rdrers rrezSharedMemoryServer.shutdowns( O  & & - - /??4+ +rc< |jj|yr)rHr4r+rBr3s rrAz SharedMemoryServer.track_segments M  & & 7 7 Erc< |jj|yr)rHr9rNs rrBz"SharedMemoryServer.release_segment"s K  & & 6 6| Drc0 |jjSr)rHr/rs rrCz SharedMemoryServer.list_segments's &--;; ;rN) r7r9r:rdrr,rfrerArBrCr<rrr@r@s6FG H C ,  F E  rksX A    @@*I NN() 2 5;; -4M N4MDd$72t$&'4M N IIy/2 z MFM.&(b) IC)C AF*VF*Z F##Z%6%67)):+?+?@t'&t'tct=t=t:*)+,8<7<: E E F + /I / +I +]6 4 4A9A&1Y1&88o0   +(      <* k, !"  $   +  Wekk* _ekk2 Wiooz: VY^^]; Wioo}= [)"5"5}E ')C)C"$ [)"5"5~F Y 1 1<@ VTYY 2 VT9- VT9- WeZ0 WeZ0 [)^< Z=N ]%8  """"J*k>g k%IOsO;P ;PP