fH ddgZddlmZddlZddlZddlZddlZddlZddlZej dkrddl Z dZ nddl Z dZ dd l mZejejzZd Ze rd Znd Zd ZGddZdZGddZdS) SharedMemory ShareableList)partialNntFT)resource_trackerz/psm_wnsm_c~ tttz dz}ttj|z}|S)N)_SHM_SAFE_NAME_LENGTHlen_SHM_NAME_PREFIXsecrets token_hex)nbytesnames D/opt/alt/python311/lib64/python3.11/multiprocessing/shared_memory.py_make_filenamer(s7<#c*:&;&;; AF g/77 7D KceZdZ dZdZdZdZejZ dZ e rdndZ ddZ dZd Zd Zed Zed Zed ZdZdZdS)rNiTFrcx|dkstd|r.ttjz|_|dkrtd|#|jtjzstdt r*|O t} tj ||j|j |_ n#t$rYCwxYw||_ n;|jrd|zn|}tj ||j|j |_ ||_ |r|rtj|j |tj|j }|j}t%j|j ||_n##t($r|wxYwt-j|j dn|r# |tn|}t1jt0jt0jt0j|d z d z|d z|} t1j}|t0jkrZ|Btt>j tj!t>j |t0j t1j"|t%jd || |_t1j"|n#t1j"|wxYw||_ n||_ t1j#t0j$d |} t1j%|t0j$ddd}t1j"|n#t1j"|wxYw t1j&|}t1j'|n#t1j'|wxYwt%jd || |_||_(tS|j|_*dS)Nrz!'size' must be a positive integerz4'size' must be a positive number different from zeroz&'name' can only be None if create=TrueT)mode/ shared_memory lr)tagnameF)+ ValueError_O_CREXosO_RDWR_flagsO_EXCL _USE_POSIXr _posixshmemshm_open_mode_fdFileExistsError_name_prepend_leading_slash ftruncatefstatst_sizemmap_mmapOSErrorunlinkrregister_winapiCreateFileMappingINVALID_HANDLE_VALUENULLPAGE_READWRITE GetLastErrorERROR_ALREADY_EXISTSerrnoEEXISTstrerror CloseHandleOpenFileMapping FILE_MAP_READ MapViewOfFileVirtualQuerySizeUnmapViewOfFile_size memoryview_buf) selfrcreatesizestats temp_nameh_maplast_error_codep_bufs r__init__zSharedMemory.__init__Ksqyy@AA A  Y!BI-DKqyy !WXXX < bi 7<EFF F _ ?| )++D!#.#7  K!%$$$ +!!! !!%DJ%)%@JsTzzd&/K "  1d1L4000**}!Ytx66        %dj/ B B B B 6 ?48L 0 0 0dI$54 .z1z)! E3*1*>*@*@*g.JJJ#/&5$)L$&K $=$=$($+$@ '"'"!"!) +E2222&*Yr4%K%K%K +E2222+E2222!*DJ"  /) /#1- E'....G'....3"3E::D+E2222G+E2222!Yr4>>>  tz** sJ&B,, B98B9AE E>4A'J"1J""J8+"L""L8<M%%M;cR |dS#t$rYdSwxYwN)closer2rHs r__del__zSharedMemory.__del__s:  JJLLLLL    DD s  &&c.|j|jd|jffS)NF) __class__rrJrTs r __reduce__zSharedMemory.__reduce__s# N     rc@|jjd|jd|jdS)N(z, size=))rW__name__rrJrTs r__repr__zSharedMemory.__repr__s*.)LLDILL LLLLrc |jSrR)rGrTs rbufzSharedMemory.bufs >yrc |j}tr0|jr)|jdr|jdd}|S)Nrr)r+r%r, startswith)rH reported_names rrzSharedMemory.namesK>  /$5 /z$$S)) / $ 122 rc |jSrR)rErTs rrJzSharedMemory.sizes zrc |j |jd|_|j |jd|_tr-|jdkr$t j|jd|_dSdSdS)Nrr)rGreleaser1rSr%r)r!rTs rrSzSharedMemory.closes 0 9 I     DI : ! J     DJ  $(a-- HTX   DHHH  --rc tr<|jr7tj|jt j|jddSdSdS)Nr)r%r+r& shm_unlinkr unregisterrTs rr3zSharedMemory.unlinksb '  E$* E  "4: . . .  ' O D D D D D E E E Er)NFr)r\ __module__ __qualname__r+r)r1rGr!r"r#r(r%r,rPrUrXr]propertyr_rrJrSr3rrrr2s B E C E D YF E%/:TTUl+l+l+l+\    MMMXXX   EEEEErutf8c jeZdZ edededededdjdiZ dZ dd d d d Z e d Z d!dddZdZdZdZdZdZdZdZdZedZedZedZedZedZedZedZdZd Z e!e"j#Z$dS)"rqdzxxxxxxx?z%dsNzxxxxxx?xc|SrRrlvalues rzShareableList.src\|dtSN)rstripdecode _encodingrss rruzShareableList.s g..55i@@rc,|dSrw)ryrss rruzShareableList.sg..rcdSrRrl)_values rruzShareableList.s$r)rrr c t|ttdjfsdSt|trdSt|trdSdS)Nrrr r) isinstancestrbytesrWrss r_extract_recreation_codez&ShareableList._extract_recreation_codes\ 2%#udn!=>> 1 s # # 1 u % % 11rrcL|||pd}fd|D}t|_d}dg_|D]I}||ddkrjnt |ddz }j|Jfd|D}t jdjzd |zj zj z}t|d | _ nt|_ |tt jdjzj jdjgjRt jd |j jjgfd |DRt jj j jjgfd |DRt jj j jjg|RdSt_t)t jjj jd _dS)Nrlcg|]v}t|ttfsjt |n=jt |jt |jzdzzfzwS)r)rrr_types_mappingtype _alignmentr.0itemrHs r z*ShareableList.__init__..-s  &dS%L99#DJJ//,T$ZZ83t99+G!+KL<rrrsc:g|]}|Srl)rrs rrz*ShareableList.__init__..?s4!!!8<--d33!!!rroT)rIrJc3pK|]0}t|tr|n|V1dSrR)rrencoderv_encs r z)ShareableList.__init__..Zs@PP!Jq#$6$6=!((4...APPPPPPrc3BK|]}|VdSrR)rrs rrz)ShareableList.__init__..`s-33Q!((4..333333rrq)r _list_len_allocated_offsetsrintappendstructcalcsize_format_size_metainfojoin_format_packing_metainfo_format_back_transform_codesrshmr{ pack_intor__offset_data_start_offset_packing_formats_offset_back_transform_codeslist unpack_from) rHsequencer_formatsoffsetfmt_recreation_codesrequested_sizers ` @rrPzShareableList.__init__*s <8/~2H % H!]]DNF()cD # 7 7SW^^$//S"XN'..v6666!!!!@H!!! $_d00!!"-.12N$DNKKKDHH#D))DH  D  d00    )       !! ' QPPPxPPP       - , 4333(333       1 1 $       !YYDN&*".HL''D # # #rc6 |dkr|n ||jz}||jks |jdkrtdtjd|jj|j|dzzd}|d}|t}|S)Nr Requested position out of range.8srqrx) r IndexErrorrrrr_rryrzr{)rHpositionrr fmt_as_strs r_get_packing_formatz!ShareableList._get_packing_formatssH'1}}88(T^2K  & &DNQ,>,>?@@ @    HL  (8a< 7     hhwZZ ** rc ||jks |jdkrtdtjd|jj|j|zd}|j|}|S)Nrrb)rrrrrr_r_back_transforms_mapping)rHrtransform_codetransform_functions r_get_back_transformz!ShareableList._get_back_transformstC  & &DNQ,>,>?@@ @+  HL  - 8     ":>J!!rcV ||jks |jdkrtdtjd|jj|j|dzz|t| |}tjd|jj|j |z|dS)Nrrrrqr) rrrrrr_rrr{rr)rHrrrtrs r!_set_packing_format_and_transformz/ShareableList._set_packing_format_and_transforms ?  & &DNQ,>,>?@@ @  HL  (8a< 7   i ( (    66u==  HL  - 8       rc<|dkr|n ||jz} |j|j|z}tj|||jj|\}n#t$rtdwxYw| |}||}|S)Nrzindex out of range) rrrrrrrr_rr)rHrrrback_transforms r __getitem__zShareableList.__getitem__s'1}}88(T^2K 3,t/Fx/PPF%((22 DQQ  3 3 3122 2 311(;; N1  s A AA9c|dkr|n ||jz} |j|}|j|z}||}n#t$rt dwxYwt |t tfs|jt|}|}n|j|dz|z }t |t r| tn|}t||krtd|ddkr|}n|jt |fz}||||tj||jj||dS)Nrzassignment index out of rangerz(bytes/str item exceeds available storagerr)rrrrrrrrrrrr{rrrrrrr_) rHrrt item_offsetrcurrent_format new_format encoded_valueallocated_lengths r __setitem__zShareableList.__setitem__s'1}}88(T^2K >1(;K,{:F!55h??NN > > ><== = >%#u.. ,T%[[9J!MM#6x!|D{R !+5# 6 6BU\\)444>rcNtjd|jjddS)Nror)rrrr_rTs r__len__zShareableList.__len__s !#tx|Q77::rcZ|jjdt|d|jjdS)NrZz, name=r[)rWr\rrrrTs rr]zShareableList.__repr__s0.)QQDJJQQtx}QQQQrcl dfdtjDS)Nrc3BK|]}|VdSrR)r)rirHs rrz'ShareableList.format..sB  ,-D $ $Q ' '      r)rrangerrTs`rformatzShareableList.formatsLGww    16t~1F1F      rc d|jdzzS)NrorrrTs rrz#ShareableList._format_size_metainfosHdnq())rc d|jzS)NrrrTs rrz&ShareableList._format_packing_metainfosHdn$$rc d|jzS)NrrrTs rrz*ShareableList._format_back_transform_codessHT^##rc|jdzdzS)Nr rqrrTs rrz ShareableList._offset_data_starts"a''rc,|j|jdzS)Nr)rrrTs rrz%ShareableList._offset_packing_formatss&)@)DDDrc&|j|jdzzS)Nrq)rrrTs rrz*ShareableList._offset_back_transform_codess+dnq.@@@rc< tfd|DS)Nc3$K|] }|kV dSrRrl)rentryrts rrz&ShareableList.count.. s'44e5E>444444r)sum)rHrts `rcountzShareableList.counts)M4444t444444rcf t|D]\}}||kr|cSt|d)Nz not in this container) enumerater)rHrtrrs rindexzShareableList.index sT : ) A AOHe~~???@@ @rrR)%r\rirjrfloatboolrrrWrrr staticmethodrrPrrrrrrXrr]rkrrrrrrrrr classmethodtypes GenericAlias__class_getitem__rlrrrrs$*& S s j U u  NJ   @ @ . .       \ GdGGGGGR " " "   ,"JJJB???;;;RRR  X **X*%%X%$$X$((X( EEXEAAXA555 AAA$ E$677r)__all__ functoolsrr0r!r<rrrrr5r%r&rrO_CREATr$r r rrrr{rrlrrrsX O -  7d??NNNJJJ *ry BEBEBEBEBEBEBEBEJ  ]8]8]8]8]8]8]8]8]8]8r