File "heap.cpython-39.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/python39/lib64/python3.9/multiprocessing/__pycache__/heap.cpython-39.pyc
File size: 7.47 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit

a

XC?hj-@sddlZddlmZddlZddlZddlZddlZddlZddlm	Z	m
Z
ddlmZdgZ
ejdkrddlZGdd	d	eZn,Gd
d	d	eZddZd
dZe	eeGdddeZGdddeZdS)N)defaultdict)	reductionassert_spawning)util
BufferWrapperZwin32c@s0eZdZdZeZddZddZddZ	dS)	ArenazL
        A shared memory area backed by anonymous memory (Windows).
        cCsx||_tdD]B}dtt|jf}tjd||d}tdkrHqZ|	qt
d||_||_|j|jf|_
dS)Ndz	pym-%d-%sZtagnamerzCannot find name for new mmap)sizerangeosgetpidnext_randmmap_winapiZGetLastErrorcloseFileExistsErrornamebuffer_state)selfrirZbufr9/opt/alt/python39/lib64/python3.9/multiprocessing/heap.py__init__&s
Arena.__init__cCst||jSN)rr)rrrr__getstate__5szArena.__getstate__cCs,|\|_|_|_tjd|j|jd|_dS)Nr
r)rrrrr)rstaterrr__setstate__9szArena.__setstate__N)
__name__
__module____qualname____doc__tempfileZ_RandomNameSequencerrr r"rrrrrs
rc@s8eZdZdZejdkrdgZngZd
ddZddZd	S)rzJ
        A shared memory area backed by a temporary file (POSIX).
        Zlinuxz/dev/shmr
cCsx||_||_|dkrbtjdt||d\|_}t|t	|tj
|jft|j|t|j|j|_
dS)Nr
zpym-%d-)prefixdir)rfdr'Zmkstemprr_choose_dirunlinkrFinalizer	ftruncaterr)rrr*rrrrrMs

rcCs6|jD]&}t|}|j|j|kr|SqtSr)_dir_candidatesrstatvfsf_bavailf_frsizerZget_temp_dir)rrdstrrrr+[s



zArena._choose_dirN)r
)	r#r$r%r&sysplatformr/rr+rrrrrCs

cCs(|jdkrtdt|jt|jffS)Nr
zDArena is unpicklable because forking was enabled when it was created)r*
ValueError
rebuild_arenarrZDupFd)arrrreduce_arenads
r:cCst||Sr)rdetach)rZdupfdrrrr8jsr8c@szeZdZdZdZdZejfddZe	ddZ
ddZd	d
ZddZ
d
dZddZddZddZddZddZdS)Heapi@cCsXt|_t|_||_g|_i|_i|_	i|_
tt|_
g|_g|_d|_d|_dSNr)rr_lastpid	threadingZLock_lock_size_lengths_len_to_seq_start_to_block_stop_to_blockrset_allocated_blocks_arenas_pending_free_blocks
_n_mallocs_n_frees)rrrrrr{s


z
Heap.__init__cCs|d}|||@S)Nrr)nZ	alignmentmaskrrr_roundupsz
Heap._roundupcCsZ|t|j|tj}|j|jkr0|jd9_td|t|}|j	
||d|fS)Nz"allocating a new mmap of length %dr)rOmaxrBrPAGESIZE_DOUBLE_ARENA_SIZE_UNTILrinforrIappend)rrlengtharenarrr
_new_arenaszHeap._new_arenacCs|j}||jkrdS|j|}|r(J|j|df=|j||f=|j||j|}||d|f|s~|j|=|j	|dSr>)
r_DISCARD_FREE_SPACE_LARGER_THANrHpoprErFrIremoverDrC)rrWrVblocksseqrrr_discard_arenas

zHeap._discard_arenac	Cs|t|j|}|t|jkr&||S|j|}|j|}|}|sV|j|=|j|=|\}}}|j||f=|j||f=|Sr)	bisectZbisect_leftrClenrXrDrZrErF)	rrrrVr]blockrWstartstoprrr_mallocs



zHeap._mallocc	Cs|\}}}z|j||f}Wnty.Yn0||\}}z|j||f}WntybYn0||\}}|||f}||}z|j||Wn,ty|g|j|<t|j|Yn0||j||f<||j||f<dSr)	rFKeyError_absorbrErDrUr_ZinsortrC)	rrarWrbrcZ
prev_block_Z
next_blockrVrrr_add_free_blocks(

zHeap._add_free_blockcCs^|\}}}|j||f=|j||f=||}|j|}|||sV|j|=|j|||fSr)rErFrDr[rC)rrarWrbrcrVr]rrrrfs


zHeap._absorbcCs4|\}}}|j|}|||f|s0||dSr)rHr[r^)rrarWrbrcr\rrr_remove_allocated_blocks


zHeap._remove_allocated_blockcCs@z|j}Wnty$Yq<Yn0||||qdSr)rJrZ
IndexErrorrhrirrarrr_free_pending_blockss

zHeap._free_pending_blockscCst|jkr$tdt|j|jds>|j|nFz8|j	d7_	|
||||W|j
n|j
0dS)Nz$My pid ({0:n}) is not last pid {1:n}Fr)rrr?r7formatrAacquirerJrUrLrlrhrireleaserkrrrfrees


z	Heap.freecCs|dkrtd|tj|kr.td|t|jkrD||j	|j
d7_
||t
|d|j}||\}}}||}||kr||||f|j|||f|||fWdS1s0YdS)NrSize {0:n} out of rangeSize {0:n} too larger)r7rmr5maxsize
OverflowErrorrrr?rrArKrlrOrQ
_alignmentrdrhrHadd)rrrWrbrcZ	real_stoprrrmalloc(s 
zHeap.mallocN)r#r$r%rurYrSrrRrstaticmethodrOrXr^rdrhrfrirlrprwrrrrr<ss

r<c@s"eZdZeZddZddZdS)rcCs^|dkrtd|tj|kr.td|tj|}||f|_t	j
|tjj|fddS)Nrrqrr)args)r7rmr5rsrtr_heaprwrrr-rp)rrrarrrrFs

zBufferWrapper.__init__cCs&|j\\}}}}t|j|||Sr)r
memoryviewr)rrWrbrcrrrrcreate_memoryviewOszBufferWrapper.create_memoryviewN)r#r$r%r<rzrr|rrrrrBs	)r_collectionsrrrr5r'r@contextrrr__all__r6robjectrr:r8registerr<rrrrr<module>
s&
$!P