Your IP : 18.216.126.33


Current Path : /opt/alt/python27/lib64/python2.7/multiprocessing/
Upload File :
Current File : //opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyo

�
^
bc@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;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyt__init__:s	
cCs8t|�|j|j|j|j|j|j|jfS(N(RRRRRR R!R(R#((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyt__getstate__Ls
cCs>|\|_|_|_|_|_|_|_|j�dS(N(RRRRR R!RR"(R#tstate((s;/opt/alt/python27/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;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyR"Vs
					cCs}|jj||�st�n|jj�z=|jdkrJ|j�n|jj|�|jj	�Wd|jj
�XdS(N(R!tacquireRR*R.Rt
_start_threadR-tappendtnotifytrelease(R#tobjtblockttimeout((s;/opt/alt/python27/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(	RRR9R6R!R=ttimeRR8(R#R?R@trestdeadline((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pytgetqs,

		
cCs|j|jjj�S(N(RR!t_semlockt
_get_value(R#((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pytqsize�scCs|j�S(N(R8(R#((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pytempty�scCs|jjj�S(N(R!RFt_is_zero(R#((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pytfull�scCs
|jt�S(N(RER(R#((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyt
get_nowait�scCs|j|t�S(N(RAR(R#R>((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyt
put_nowait�scCsDt|_z|jj�Wd|j}|r?d|_|�nXdS(N(tTrueR1RtcloseR2R(R#RO((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyRO�s			cCs$td�|jr |j�ndS(NsQueue.join_thread()(R
R/(R#((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pytjoin_thread�s
	cCs<td�t|_y|jj�Wntk
r7nXdS(NsQueue.cancel_join_thread()(R
RNR0R/tcanceltAttributeError(R#((s;/opt/alt/python27/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 RROR.RNtdaemontstartR0Rt_finalize_jointweakreftrefR/t_finalize_closeR2(R#((s;/opt/alt/python27/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;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyR^�s
	

cCsAtd�|j�z|jt�|j�Wd|j�XdS(Nstelling queue thread to quit(R
R9R;t	_sentinelR<R=(tbuffertnotempty((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyRa�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
R9R=twaittpopleftReRRRt
IndexErrort	ExceptionRRt	tracebackt	print_exc(RfRgR3t	writelockROtnacquiretnreleasetnwaittbpoplefttsentineltwacquiretwreleaseR>teRl((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyR[�sL
						


	
N(t__name__t
__module__R%R&R(R"RNRRARERHRIRKRLRMRORPRSR:tstaticmethodR^RaR[(((s;/opt/alt/python27/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;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyR%)scCstj|�|j|jfS(N(RR&R{Rz(R#((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyR&.scCs.tj||d �|d\|_|_dS(Ni����(RR(R{Rz(R#R'((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyR(1scCs�|jj||�st�n|jj�|jj�zJ|jdkrW|j�n|jj	|�|j
j�|jj�Wd|jj�|jj�XdS(N(
R!R9RR*R{R.RR:R-R;RzR=R<(R#R>R?R@((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyRA5s	




cCsi|jj�zG|jjt�s1td��n|jjj�rS|jj�nWd|jj�XdS(Ns!task_done() called too many times(	R{R9RzRt
ValueErrorRFRJt
notify_allR=(R#((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyt	task_doneFs
cCsH|jj�z&|jjj�s2|jj�nWd|jj�XdS(N(R{R9RzRFRJRhR=(R#((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyRbPs

N(
RwRxR%R&R(RNRRAR~Rb(((s;/opt/alt/python27/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;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyR%^scCs|jj�S(N(RR7(R#((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyRIgscCs&t|�|j|j|j|jfS(N(RRRRR (R#((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyR&js
cCs,|\|_|_|_|_|j�dS(N(RRRR R(R#R'((s;/opt/alt/python27/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;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyREuscs$��z�|�SWd��XdS(N((R>(R3RtRu(s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyRA�s(RR5RR9R=RER RRR3RA(R#RERA((R�R5R�R3RtRus;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyRrs	(RwRxR%RIR&R(R(((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyR\s
					(t__all__RRR)R+RBtatexitR_RRRRtRtsynchronizeRRRR	tutilR
RRR
RtforkingRtobjectReRR(((s;/opt/alt/python27/lib64/python2.7/multiprocessing/queues.pyt<module>#s""(�	
5

?>