File "heap.cpython-35.pyc"

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



Yf @s#ddlZddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	dgZ
ejdkrddlZGdd	d	e
Zn>Gd
d	d	e
ZddZd
dZejeeGddde
ZGddde
ZdS)N)context)	reduction)util
BufferWrapperwin32c@s@eZdZejZddZddZddZdS)ArenacCs||_xttdD]Z}dtjt|jf}tjd|d|}tjdkrfP|j	qWt
d||_||_|j|jf|_
dS)Ndz	pym-%d-%srtagnamerzCannot find name for new mmap)sizerangeosgetpidnext_randmmap_winapiZGetLastErrorcloseFileExistsErrornamebuffer_state)selfrirZbufr9/opt/alt/python35/lib64/python3.5/multiprocessing/heap.py__init__#s			zArena.__init__cCstj||jS)N)rZassert_spawningr)rrrr__getstate__2s
zArena.__getstate__cCs>|\|_|_|_tjd|jd|j|_dS)Nrr
r)rrrrr)rstaterrr__setstate__6szArena.__setstate__N)	__name__
__module____qualname__tempfileZ_RandomNameSequencerrrr rrrrrsrc@seZdZdddZdS)rrcCs-||_||_|d
krtjddtjdtj\|_}tj|tj	|tj
|jft|jddd{}d}||krd	|}x%t||D]}|j
|qW~|j
d	|||j|kstWdQRXtj|j|j|_dS)Nrprefixzpym-%d-dirwbclosefdFisri)rfdr$ZmkstemprrrZget_temp_dirunlinkFinalizeropenr
writetellAssertionErrorrr)rrr)rfZbsZzeros_rrrrAs"			(

zArena.__init__Nr)r!r"r#rrrrrr?scCs:|jdkrtdt|jtj|jffS)NrzDArena is unpicklable because forking was enabled when it was createdr)r)
ValueError
rebuild_arenarrZDupFd)arrrreduce_arenaTsr5cCst||jS)N)rdetach)rZdupfdrrrr3Zsr3c@seZdZdZejddZeddZddZ	dd	Z
d
dZdd
ZddZ
ddZdS)HeapcCsmtj|_tj|_||_g|_i|_i|_	i|_
t|_g|_
g|_dS)N)rr_lastpid	threadingZLock_lock_size_lengths_len_to_seq_start_to_block_stop_to_blockset_allocated_blocks_arenas_pending_free_blocks)rrrrrrgs						z
Heap.__init__cCs|d}|||@S)Nrr)nZ	alignmentmaskrrr_roundupts
z
Heap._roundupc	Cstj|j|}|t|jkr|jt|j|tj}|jd9_t	j
d|t|}|jj
||d|fS|j|}|j|}|j}|s|j|=|j|=|\}}}|j||f=|j||f=|S)Nz"allocating a new mmap of length %dr)bisectZbisect_leftr=lenrGmaxr<rPAGESIZErinforrCappendr>popr?r@)	rrrlengtharenaseqblockstartstoprrr_malloczs"!


zHeap._mallocc	Cs$|\}}}y|j||f}Wntk
r:YnX|j|\}}y|j||f}Wntk
r{YnX|j|\}}|||f}||}y|j|j|Wn5tk
r|g|j|<tj|j|YnX||j||f<||j||f<dS)N)	r@KeyError_absorbr?r>rNrIZinsortr=)	rrSrQrTrUZ
prev_blockr1Z
next_blockrPrrr_frees(



z
Heap._freecCs}|\}}}|j||f=|j||f=||}|j|}|j||ss|j|=|jj|||fS)N)r?r@r>remover=)rrSrQrTrUrPrRrrrrXs



zHeap._absorbcCsQxJy|jj}Wntk
r+PYnX|jj||j|qWdS)N)rDrO
IndexErrorrBrZrY)rrSrrr_free_pending_blockss
zHeap._free_pending_blocksc
Cstj|jkst|jjds@|jj|n<z+|j|j	j
||j|Wd|jjXdS)NF)
rrr9r/r;acquirerDrNr\rBrZrYrelease)rrSrrrfrees

z	Heap.freecCsd|kotjkns%ttj|jkrD|j|j|j|j	t
|d|j}|j|\}}}||}||kr|j
|||f|||f}|jj||SWdQRXdS)Nrr)sysmaxsizer/rrr9rr;r\rGrK
_alignmentrVrYrBadd)rrrQrTrUZnew_stoprSrrrmallocs%



zHeap.mallocN)r!r"r#rbrrLrstaticmethodrGrVrYrXr\r_rdrrrrr7cs

r7c@s1eZdZeZddZddZdS)rcCsid|kotjkns%ttjj|}||f|_tj|tjj	d|fdS)Nrargs)
r`rar/r_heaprdrrr+r_)rrrSrrrrs%zBufferWrapper.__init__cCs3|j\\}}}}t|j|||S)N)r
memoryviewr)rrQrTrUrrrrcreate_memoryviewszBufferWrapper.create_memoryviewN)r!r"r#r7rgrrirrrrrs	)rIrrr`r$r:rrr__all__platformrobjectrr5r3registerr7rrrrr<module>
s$