%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python2.7/multiprocessing/
Upload File :
Create Path :
Current File : //usr/local/lib/python2.7/multiprocessing/heap.pyc

ó
Pêáac@s
ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
ddlmZdgZ
ejdkrÇddlmZdefd„ƒYZndefd	„ƒYZd
efd„ƒYZdefd„ƒYZdS(
iÿÿÿÿN(tFinalizetinfo(tassert_spawningt
BufferWrappertwin32(RtArenacBs/eZejƒZd„Zd„Zd„ZRS(cCsƒ||_dtjƒtjjƒf|_tjd|jd|jƒ|_t	j
ƒdksjtdƒ‚|j|jf|_dS(Ns	pym-%d-%diÿÿÿÿttagnameistagname already in use(
tsizetostgetpidRt_countertnexttnametmmaptbufferRtGetLastErrortAssertionErrort_state(tselfR((s0/usr/local/lib/python2.7/multiprocessing/heap.pyt__init__=s
	"!cCst|ƒ|jS(N(RR(R((s0/usr/local/lib/python2.7/multiprocessing/heap.pyt__getstate__Ds
cCsY|\|_|_|_tjd|jd|jƒ|_tjƒtjksUt‚dS(NiÿÿÿÿR(	RRRR
RRRtERROR_ALREADY_EXISTSR(Rtstate((s0/usr/local/lib/python2.7/multiprocessing/heap.pyt__setstate__Hs!(t__name__t
__module__t	itertoolstcountR
RRR(((s0/usr/local/lib/python2.7/multiprocessing/heap.pyR9s		cBseZd„ZRS(cCs+tjd|ƒ|_||_d|_dS(Niÿÿÿÿ(R
RRtNoneR(RR((s0/usr/local/lib/python2.7/multiprocessing/heap.pyRQs	(RRR(((s0/usr/local/lib/python2.7/multiprocessing/heap.pyROstHeapcBsbeZdZejd„Zed„ƒZd„Zd„Z	d„Z
d„Zd„Zd„Z
RS(	icCsmtjƒ|_tjƒ|_||_g|_i|_i|_	i|_
tƒ|_g|_
g|_dS(N(RR	t_lastpidt	threadingtLockt_lockt_sizet_lengthst_len_to_seqt_start_to_blockt_stop_to_blocktsett_allocated_blockst_arenast_pending_free_blocks(RR((s0/usr/local/lib/python2.7/multiprocessing/heap.pyR^s						cCs|d}|||@S(Ni((tnt	alignmenttmask((s0/usr/local/lib/python2.7/multiprocessing/heap.pyt_roundupks
c	Cstj|j|ƒ}|t|jƒkr|jt|j|ƒtjƒ}|jd9_t	d|ƒt
|ƒ}|jj|ƒ|d|fS|j|}|j
|}|jƒ}|sÓ|j
|=|j|=n|\}}}|j||f=|j||f=|S(Nis"allocating a new mmap of length %di(tbisecttbisect_leftR#tlenR.tmaxR"R
tPAGESIZERRR)tappendR$tpopR%R&(	RRtitlengthtarenatseqtblocktstarttstop((s0/usr/local/lib/python2.7/multiprocessing/heap.pyt_mallocqs"!



c	Cs!|\}}}y|j||f}Wntk
r9nX|j|ƒ\}}y|j||f}Wntk
rynX|j|ƒ\}}|||f}||}y|j|j|ƒWn4tk
rö|g|j|<tj|j|ƒnX||j||f<||j||f<dS(N(	R&tKeyErrort_absorbR%R$R4R/tinsortR#(	RR:R8R;R<t
prev_blockt_t
next_blockR7((s0/usr/local/lib/python2.7/multiprocessing/heap.pyt_free‡s(



cCs€|\}}}|j||f=|j||f=||}|j|}|j|ƒ|sv|j|=|jj|ƒn||fS(N(R%R&R$tremoveR#(RR:R8R;R<R7R9((s0/usr/local/lib/python2.7/multiprocessing/heap.pyR?¥s



cCsVxOtrQy|jjƒ}Wntk
r0PnX|jj|ƒ|j|ƒqWdS(N(tTrueR*R5t
IndexErrorR(RERD(RR:((s0/usr/local/lib/python2.7/multiprocessing/heap.pyt_free_pending_blocks´s	
cCs€tjƒ|jkst‚|jjtƒs@|jj|ƒn<z+|j	ƒ|j
j|ƒ|j|ƒWd|jj
ƒXdS(N(RR	RRR!tacquiretFalseR*R4RHR(RERDtrelease(RR:((s0/usr/local/lib/python2.7/multiprocessing/heap.pytfree¾s

cCsÿd|kotjkns%t‚tjƒ|jkrG|jƒn|jjƒ|j	ƒzŒ|j
t|dƒ|jƒ}|j
|ƒ\}}}||}||krÆ|j|||fƒn|||f}|jj|ƒ|SWd|jjƒXdS(Nii(tsystmaxintRRR	RRR!RIRHR.R2t
_alignmentR=RDR(taddRK(RRR8R;R<tnew_stopR:((s0/usr/local/lib/python2.7/multiprocessing/heap.pytmallocÖs%



(RRROR
R3RtstaticmethodR.R=RDR?RHRLRR(((s0/usr/local/lib/python2.7/multiprocessing/heap.pyRZs
				
	cBs,eZeƒZd„Zd„Zd„ZRS(cCsfd|kotjkns%t‚tjj|ƒ}||f|_t|tjjd|fƒdS(Nitargs(	RMRNRRt_heapRRRRRL(RRR:((s0/usr/local/lib/python2.7/multiprocessing/heap.pyRñs%cCsJ|j\\}}}}tj|jƒ\}}||ksBt‚||S(N(Rt_multiprocessingtaddress_of_bufferRR(RR8R;R<RtaddressR7((s0/usr/local/lib/python2.7/multiprocessing/heap.pytget_address÷scCs|jdS(Ni(R(R((s0/usr/local/lib/python2.7/multiprocessing/heap.pytget_sizeýs(RRRRURRYRZ(((s0/usr/local/lib/python2.7/multiprocessing/heap.pyRís			(R/R
ttempfileRRMRRRVtmultiprocessing.utilRRtmultiprocessing.forkingRt__all__tplatformRtobjectRRR(((s0/usr/local/lib/python2.7/multiprocessing/heap.pyt<module>#s 	“

Zerion Mini Shell 1.0