ACC SHELL

Path : /usr/lib/python/multiprocessing/
File Upload :
Current File : //usr/lib/python/multiprocessing/heap.pyc

Ñò
tÄMc@sddkZddkZddkZddkZddkZddkZddkZddkZddkl	Z	l
Z
ddklZdgZ
eidjo*ddklZdefd	„ƒYZndefd
„ƒYZdefd„ƒYZdefd
„ƒYZdS(iÿÿÿÿN(tFinalizetinfo(tassert_spawningt
BufferWrappertwin32i(RtArenacBs/eZeiƒZd„Zd„Zd„ZRS(cCs‚||_dtiƒtiiƒf|_tid|id|iƒ|_t	i
ƒdjp
td‚|i|if|_dS(Ns	pym-%d-%diÿÿÿÿttagnameistagname already in use(
tsizetostgetpidRt_countertnexttnametmmaptbufferRtGetLastErrortAssertionErrort_state(tselfR((s*/usr/lib/python2.6/multiprocessing/heap.pyt__init__#s
	"!cCst|ƒ|iS(N(RR(R((s*/usr/lib/python2.6/multiprocessing/heap.pyt__getstate__*s
cCs[|\|_|_|_tid|id|iƒ|_tiƒtijpt‚dS(NiÿÿÿÿR(	RRRR
RRRtERROR_ALREADY_EXISTSR(Rtstate((s*/usr/lib/python2.6/multiprocessing/heap.pyt__setstate__.s!(t__name__t
__module__t	itertoolstcountR
RRR(((s*/usr/lib/python2.6/multiprocessing/heap.pyRs		cBseZd„ZRS(cCs+tid|ƒ|_||_d|_dS(Niÿÿÿÿ(R
RRtNoneR(RR((s*/usr/lib/python2.6/multiprocessing/heap.pyR7s	(RRR(((s*/usr/lib/python2.6/multiprocessing/heap.pyR5stHeapcBsYeZdZeid„Zed„ƒZd„Zd„Z	d„Z
d„Zd„ZRS(icCsdtiƒ|_tiƒ|_||_g|_h|_h|_	h|_
tƒ|_g|_
dS(N(RR	t_lastpidt	threadingtLockt_lockt_sizet_lengthst_len_to_seqt_start_to_blockt_stop_to_blocktsett_allocated_blockst_arenas(RR((s*/usr/lib/python2.6/multiprocessing/heap.pyRDs					cCs|d}|||@S(Ni((tnt	alignmenttmask((s*/usr/lib/python2.6/multiprocessing/heap.pyt_roundupOs
c	Cs
ti|i|ƒ}|t|iƒjog|it|i|ƒtiƒ}|id9_t	d|ƒt
|ƒ}|ii|ƒ|d|fS|i|}|i
|}|iƒ}|p|i
|=|i|=n|\}}}|i||f=|i||f=|S(Nis"allocating a new mmap of length %di(tbisecttbisect_leftR#tlenR-tmaxR"R
tPAGESIZERRR)tappendR$tpopR%R&(	RRtitlengthtarenatseqtblocktstarttstop((s*/usr/lib/python2.6/multiprocessing/heap.pyt_mallocUs"!


c	
Cs'|\}}}y|i||f}Wntj
onX|i|ƒ\}}y|i||f}Wntj
onX|i|ƒ\}}|||f}||}y|i|i|ƒWn6tj
o*|g|i|<ti|i|ƒnX||i||f<||i||f<dS(N(	R&tKeyErrort_absorbR%R$R3R.tinsortR#(	RR9R7R:R;t
prev_blockt_t
next_blockR6((s*/usr/lib/python2.6/multiprocessing/heap.pyt_freeks(
cCs‚|\}}}|i||f=|i||f=||}|i|}|i|ƒ|p|i|=|ii|ƒn||fS(N(R%R&R$tremoveR#(RR9R7R:R;R6R8((s*/usr/lib/python2.6/multiprocessing/heap.pyR>‰s



cCs`tiƒ|ijpt‚|iiƒz!|ii|ƒ|i|ƒWd|ii	ƒXdS(N(
RR	RRR!tacquireR(RDRCtrelease(RR9((s*/usr/lib/python2.6/multiprocessing/heap.pytfree˜s
cCsüd|jo
tijnpt‚tiƒ|ijo|iƒn|iiƒzŽ|i	t
|dƒ|iƒ}|i|ƒ\}}}||}||jo|i
|||fƒn|||f}|ii|ƒ|SWd|iiƒXdS(Nii(tsystmaxintRRR	RRR!RER-R1t
_alignmentR<RCR(taddRF(RRR7R:R;tnew_stopR9((s*/usr/lib/python2.6/multiprocessing/heap.pytmalloc¢s(


(
RRRJR
R2RtstaticmethodR-R<RCR>RGRM(((s*/usr/lib/python2.6/multiprocessing/heap.pyR@s				
cBs,eZeƒZd„Zd„Zd„ZRS(cCsid|jo
tijnpt‚tii|ƒ}||f|_t|tiid|fƒdS(Nitargs(	RHRIRRt_heapRMRRRG(RRR9((s*/usr/lib/python2.6/multiprocessing/heap.pyR¼s(cCsL|i\\}}}}ti|iƒ\}}||jpt‚||S(N(Rt_multiprocessingtaddress_of_bufferRR(RR7R:R;RtaddressR6((s*/usr/lib/python2.6/multiprocessing/heap.pytget_addressÂscCs|idS(Ni(R(R((s*/usr/lib/python2.6/multiprocessing/heap.pytget_sizeÈs(RRRRPRRTRU(((s*/usr/lib/python2.6/multiprocessing/heap.pyR¸s			(R.R
ttempfileRRHRRRQtmultiprocessing.utilRRtmultiprocessing.forkingRt__all__tplatformRtobjectRRR(((s*/usr/lib/python2.6/multiprocessing/heap.pyt<module>	s 	x

ACC SHELL 2018