Your IP : 3.135.185.207


Current Path : /lib64/python2.7/multiprocessing/
Upload File :
Current File : //lib64/python2.7/multiprocessing/queues.pyc

�
{fc@s>dddgZddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
ddlZddlm
Z
ddlmZmZmZmZdd	lmZmZmZmZmZdd
lmZdefd��YZe�Zdefd��YZdefd
��YZdS(tQueuetSimpleQueuet
JoinableQueuei����N(tEmptytFulli(tPipe(tLocktBoundedSemaphoret	Semaphoret	Condition(tdebugtinfotFinalizetregister_after_forkt
is_exiting(tassert_spawningcBs�eZdd�Zd�Zd�Zd�Zedd�Zedd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zed��Zed��Zed��ZRS(icCs�|dkrtjj}n||_tdt�\|_|_t�|_	t
j�|_t
jdkrud|_nt�|_t|�|_|j�t
jdkr�t|tj�ndS(Nitduplextwin32(t_multiprocessingtSemLockt
SEM_VALUE_MAXt_maxsizeRtFalset_readert_writerRt_rlocktostgetpidt_opidtsystplatformtNonet_wlockRt_semt_after_forkR
R(tselftmaxsize((s./usr/lib64/python2.7/multiprocessing/queues.pyt__init__:s	
cCs8t|�|j|j|j|j|j|j|jfS(N(RRRRRR R!R(R#((s./usr/lib64/python2.7/multiprocessing/queues.pyt__getstate__Ls
cCs>|\|_|_|_|_|_|_|_|j�dS(N(RRRRR R!RR"(R#tstate((s./usr/lib64/python2.7/multiprocessing/queues.pyt__setstate__Qs0cCs�td�tjtj��|_tj�|_d|_	d|_
t|_t|_
d|_|jj|_|jj|_|jj|_dS(NsQueue._after_fork()(R
t	threadingR	Rt	_notemptytcollectionstdequet_bufferRt_threadt_jointhreadRt_joincancelledt_closedt_closeRtsendt_sendRtrecvt_recvtpollt_poll(R#((s./usr/lib64/python2.7/multiprocessing/queues.pyR"Vs
					cCs�|jst�|jj||�s.t�n|jj�z=|jdkrZ|j�n|j	j
|�|jj�Wd|jj�XdS(N(
R1tAssertionErrorR!tacquireRR*R.Rt
_start_threadR-tappendtnotifytrelease(R#tobjtblockttimeout((s./usr/lib64/python2.7/multiprocessing/queues.pytputcs	

cCs|rT|dkrT|jj�z!|j�}|jj�|SWd|jj�Xn�|rmtj�|}n|jj||�s�t�nzg|r�|tj�}|j|�s�t�q�n|j�s�t�n|j�}|jj�|SWd|jj�XdS(N(	RRR:R6R!R>ttimeRR8(R#R@RAtrestdeadline((s./usr/lib64/python2.7/multiprocessing/queues.pytgetqs,

		
cCs|j|jjj�S(N(RR!t_semlockt
_get_value(R#((s./usr/lib64/python2.7/multiprocessing/queues.pytqsize�scCs|j�S(N(R8(R#((s./usr/lib64/python2.7/multiprocessing/queues.pytempty�scCs|jjj�S(N(R!RGt_is_zero(R#((s./usr/lib64/python2.7/multiprocessing/queues.pytfull�scCs
|jt�S(N(RFR(R#((s./usr/lib64/python2.7/multiprocessing/queues.pyt
get_nowait�scCs|j|t�S(N(RBR(R#R?((s./usr/lib64/python2.7/multiprocessing/queues.pyt
put_nowait�scCsDt|_z|jj�Wd|j}|r?d|_|�nXdS(N(tTrueR1RtcloseR2R(R#RP((s./usr/lib64/python2.7/multiprocessing/queues.pyRP�s			cCs3td�|jst�|jr/|j�ndS(NsQueue.join_thread()(R
R1R9R/(R#((s./usr/lib64/python2.7/multiprocessing/queues.pytjoin_thread�s
	cCs<td�t|_y|jj�Wntk
r7nXdS(NsQueue.cancel_join_thread()(R
ROR0R/tcanceltAttributeError(R#((s./usr/lib64/python2.7/multiprocessing/queues.pytcancel_join_thread�s
	
c	Cs�td�|jj�tjdtjd|j|j|j|j	|j
jfdd�|_t
|j_td�|jj�td�|js�t|jtjtj|j�gdd	�|_nt|tj|j|jgdd
�|_dS(NsQueue._start_thread()ttargettargstnametQueueFeederThreadsdoing self._thread.start()s... done self._thread.start()texitpriorityi����i
(R
R-tclearR)tThreadRt_feedR*R4R RRPR.ROtdaemontstartR0Rt_finalize_jointweakreftrefR/t_finalize_closeR2(R#((s./usr/lib64/python2.7/multiprocessing/queues.pyR;�s(

		


		cCsDtd�|�}|dk	r6|j�td�n
td�dS(Nsjoining queue threads... queue thread joineds... queue thread already dead(R
Rtjoin(ttwrtthread((s./usr/lib64/python2.7/multiprocessing/queues.pyR_�s
	

cCsAtd�|j�z|jt�|j�Wd|j�XdS(Nstelling queue thread to quit(R
R:R<t	_sentinelR=R>(tbuffertnotempty((s./usr/lib64/python2.7/multiprocessing/queues.pyRb�s


cCs[td�|j}|j}|j}|j}t}	tjdkrX|j}
|j}nd}
x�y�|�z|s~|�nWd|�Xynxg|�}||	kr�td�|�dS|
dkr�||�q�|
�z||�Wd|�Xq�WWnt	k
rnXWqat
k
rR}
t�r9td|
�dSddl
}|j�qaXqaWdS(Ns$starting thread to feed data to pipeRs%feeder thread got sentinel -- exitingserror in queue thread: %si����(R
R:R>twaittpopleftRfRRRt
IndexErrort	ExceptionRRt	tracebackt	print_exc(RgRhR3t	writelockRPtnacquiretnreleasetnwaittbpoplefttsentineltwacquiretwreleaseR?teRm((s./usr/lib64/python2.7/multiprocessing/queues.pyR\�sL
						


	
N(t__name__t
__module__R%R&R(R"RORRBRFRIRJRLRMRNRPRQRTR;tstaticmethodR_RbR\(((s./usr/lib64/python2.7/multiprocessing/queues.pyR8s$			
						
			 

cBsGeZdd�Zd�Zd�Zedd�Zd�Zd�Z	RS(icCs/tj||�td�|_t�|_dS(Ni(RR%Rt_unfinished_tasksR	t_cond(R#R$((s./usr/lib64/python2.7/multiprocessing/queues.pyR%)scCstj|�|j|jfS(N(RR&R|R{(R#((s./usr/lib64/python2.7/multiprocessing/queues.pyR&.scCs.tj||d �|d\|_|_dS(Ni����(RR(R|R{(R#R'((s./usr/lib64/python2.7/multiprocessing/queues.pyR(1scCs�|jst�|jj||�s.t�n|jj�|jj�zJ|jdkrg|j	�n|j
j|�|jj
�|jj�Wd|jj
�|jj
�XdS(N(R1R9R!R:RR*R|R.RR;R-R<R{R>R=(R#R?R@RA((s./usr/lib64/python2.7/multiprocessing/queues.pyRB5s	




cCsi|jj�zG|jjt�s1td��n|jjj�rS|jj�nWd|jj�XdS(Ns!task_done() called too many times(	R|R:R{Rt
ValueErrorRGRKt
notify_allR>(R#((s./usr/lib64/python2.7/multiprocessing/queues.pyt	task_doneFs
cCsH|jj�z&|jjj�s2|jj�nWd|jj�XdS(N(R|R:R{RGRKRiR>(R#((s./usr/lib64/python2.7/multiprocessing/queues.pyRcPs

N(
RxRyR%R&R(RORRBRRc(((s./usr/lib64/python2.7/multiprocessing/queues.pyR's			
cBs5eZd�Zd�Zd�Zd�Zd�ZRS(cCs\tdt�\|_|_t�|_tjdkrBd|_	nt�|_	|j
�dS(NRR(RRRRRRRRRR t
_make_methods(R#((s./usr/lib64/python2.7/multiprocessing/queues.pyR%^scCs|jj�S(N(RR7(R#((s./usr/lib64/python2.7/multiprocessing/queues.pyRJgscCs&t|�|j|j|j|jfS(N(RRRRR (R#((s./usr/lib64/python2.7/multiprocessing/queues.pyR&js
cCs,|\|_|_|_|_|j�dS(N(RRRR R�(R#R'((s./usr/lib64/python2.7/multiprocessing/queues.pyR(nscs�|jj�|jj|jj�����fd�}||_|jdkrd|jj	|_
nC|jj	�|jj|jj�����fd�}||_
dS(Ncs!��z��SWd��XdS(N(((tracquireR5trrelease(s./usr/lib64/python2.7/multiprocessing/queues.pyRFuscs$��z�|�SWd��XdS(N((R?(R3RuRv(s./usr/lib64/python2.7/multiprocessing/queues.pyRB�s(RR5RR:R>RFR RRR3RB(R#RFRB((R�R5R�R3RuRvs./usr/lib64/python2.7/multiprocessing/queues.pyR�rs	(RxRyR%RJR&R(R�(((s./usr/lib64/python2.7/multiprocessing/queues.pyR\s
					(t__all__RRR)R+RCtatexitR`RRRRtRtsynchronizeRRRR	tutilR
RRR
RtforkingRtobjectRfRR(((s./usr/lib64/python2.7/multiprocessing/queues.pyt<module>#s""(�	
5

?>