File "heap.cpython-34.pyc"

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


e f@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||_xwtdD]]}dtjt|jf}tjd|d|}tjdkriPn|j	qWt
d||_||_|j|jf|_
dS)Ndz	pym-%d-%srtagnamerzCannot find name for new mmap)sizerangeosgetpidnext_randmmap_winapiGetLastErrorcloseFileExistsErrornamebuffer_state)selfrirZbufr9/opt/alt/python34/lib64/python3.4/multiprocessing/heap.py__init__#s			zArena.__init__cCstj||jS)N)rZassert_spawningr)rrrr__getstate__2s
zArena.__getstate__cCsY|\|_|_|_tjd|jd|j|_tjtjksUtdS)Nrr
r)	rrrrrrrZERROR_ALREADY_EXISTSAssertionError)rstaterrr__setstate__6s!zArena.__setstate__N)	__name__
__module____qualname__tempfileZ_RandomNameSequencerrrr"rrrrrsrc@seZdZdddZdS)rrc
Cs||_||_|d	krtjddtjdtj\|_}tj|tj	|tj
|jft|jddd}|jd|WdQXnt
j
|j|j|_dS)
Nrprefixzpym-%d-dirwbclosefdFsr)rfdr&ZmkstemprrrZget_temp_dirunlinkFinalizeropenwriterr)rrr+rfrrrr?s			(
zArena.__init__Nr)r#r$r%rrrrrr=scCs=|jdkrtdnt|jtj|jffS)NrzDArena is unpicklable because forking was enabled when it was createdr)r+
ValueError
rebuild_arenarrZDupFd)arrrreduce_arenaKsr4cCst||jS)N)rdetach)rZdupfdrrrr2Qsr2c@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rrrr^s						z
Heap.__init__cCs|d}|||@S)Nrr)nZ	alignmentmaskrrr_roundupks
z
Heap._roundupc	Cs	tj|j|}|t|jkr|jt|j|tj}|jd9_t	j
d|t|}|jj
||d|fS|j|}|j|}|j}|s|j|=|j|=n|\}}}|j||f=|j||f=|S)Nz"allocating a new mmap of length %dr)bisectZbisect_leftr<lenrFmaxr;rPAGESIZErinforrBappendr=popr>r?)	rrrlengtharenaseqblockstartstoprrr_mallocqs"!


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=rMrHZinsortr<)	rrRrPrSrTZ
prev_block_Z
next_blockrOrrr_frees(



z
Heap._freecCs|\}}}|j||f=|j||f=||}|j|}|j||sv|j|=|jj|n||fS)N)r>r?r=remover<)rrRrPrSrTrOrQrrrrWs



zHeap._absorbcCsQxJy|jj}Wntk
r+PYnX|jj||j|qWdS)N)rCrN
IndexErrorrArZrY)rrRrrr_free_pending_blockss
zHeap._free_pending_blocksc
Cstj|jkst|jjds@|jj|n<z+|j|j	j
||j|Wd|jjXdS)NF)
rrr8r r:acquirerCrMr\rArZrYrelease)rrRrrrfrees

z	Heap.freec
Csd|kotjkns%ttj|jkrG|jn|jj|j	z|j
t|d|j}|j
|\}}}||}||kr|j|||fn|||f}|jj||SWd|jjXdS)Nrr)sysmaxsizer rrr8rr:r]r\rFrJ
_alignmentrUrYrAaddr^)rrrPrSrTZnew_stoprRrrrmallocs%



zHeap.mallocN)r#r$r%rbrrKrstaticmethodrFrUrYrWr\r_rdrrrrr6Zs

r6c@s1eZdZeZddZddZdS)rcCsid|kotjkns%ttjj|}||f|_tj|tjj	d|fdS)Nrargs)
r`rar r_heaprdrrr-r_)rrrRrrrrs%zBufferWrapper.__init__cCs3|j\\}}}}t|j|||S)N)r
memoryviewr)rrPrSrTrrrrcreate_memoryviewszBufferWrapper.create_memoryviewN)r#r$r%r6rgrrirrrrrs	)rHrrr`r&r9rrr__all__platformrobjectrr4r2registerr6rrrrr<module>
s$