ž {yMa-c@s8dddgZddlZddlZddlZddlZddlZddlZddlZddlm Z m Z ddl Z ddl m Z ddlmZmZmZmZddlmZmZmZmZdd lmZGd d„deƒZeƒZGd d„deƒZGd d„deƒZdS( uQueueu SimpleQueueu JoinableQueueiN(uEmptyuFull(uPipe(uLockuBoundedSemaphoreu Semaphoreu Condition(udebuguinfouFinalizeuregister_after_fork(uassert_spawningcBs |EeZdZddd„Zdd„Zdd„Zdd „Zd'd&d d „Z d'd&d d „Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zed d!„ƒZed"d#„ƒZed$d%„ƒZd&S((uQueueicCsÉ|dkrtjj}n||_tddƒ\|_|_tƒ|_ t j ƒ|_ t jdkrud|_n tƒ|_t|ƒ|_d|_|jƒt jdkrÅt|tjƒndS(Niuduplexuwin32F(u_multiprocessinguSemLocku SEM_VALUE_MAXu_maxsizeuPipeuFalseu_readeru_writeruLocku_rlockuosugetpidu_opidusysuplatformuNoneu_wlockuBoundedSemaphoreu_semu _ignore_epipeu _after_forkuregister_after_forkuQueue(uselfumaxsize((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu__init__!s       uQueue.__init__cCs>t|ƒ|j|j|j|j|j|j|j|jfS(N( uassert_spawningu _ignore_epipeu_maxsizeu_readeru_writeru_rlocku_wlocku_semu_opid(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu __getstate__5s uQueue.__getstate__c CsD|\|_|_|_|_|_|_|_|_|jƒdS(N( u _ignore_epipeu_maxsizeu_readeru_writeru_rlocku_wlocku_semu_opidu _after_fork(uselfustate((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu __setstate__:s6uQueue.__setstate__cCstdƒtjtjƒƒ|_tjƒ|_d|_ d|_ d|_ d|_ d|_|jj|_|jj|_|jj|_dS(NuQueue._after_fork()F(udebugu threadingu ConditionuLocku _notemptyu collectionsudequeu_bufferuNoneu_threadu _jointhreaduFalseu_joincancelledu_closedu_closeu_writerusendu_sendu_readerurecvu_recvupollu_poll(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu _after_fork?s      uQueue._after_forkc Cs}|jj||ƒst‚n|jjƒz=|jdkrJ|jƒn|jj|ƒ|jj ƒWd|jj ƒXdS(N( u_semuacquireuFullu _notemptyu_threaduNoneu _start_threadu_bufferuappendunotifyurelease(uselfuobjublockutimeout((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyuputLs   u Queue.putc Cs|rT|dkrT|jjƒz!|jƒ}|jjƒ|SWd|jjƒXn¼|rmtjƒ|}n|jj||ƒs‹t‚nzt|rÌ|tjƒ}|dksÀ|j|ƒ rát‚qán|jƒsát‚n|jƒ}|jjƒ|SWd|jjƒXdS(Ni( uNoneu_rlockuacquireu_recvu_semureleaseutimeuEmptyu_poll(uselfublockutimeouturesudeadline((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyugetZs,         u Queue.getcCs|j|jjjƒS(N(u_maxsizeu_semu_semlocku _get_value(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyuqsizevsu Queue.qsizecCs |jƒ S(N(u_poll(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyuemptyzsu Queue.emptycCs|jjjƒS(N(u_semu_semlocku_is_zero(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyufull}su Queue.fullcCs |jdƒS(NF(ugetuFalse(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu get_nowait€suQueue.get_nowaitcCs|j|dƒS(NF(uputuFalse(uselfuobj((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu put_nowaitƒsuQueue.put_nowaitcCs0d|_|jjƒ|jr,|jƒndS(NT(uTrueu_closedu_readerucloseu_close(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyuclose†s   u Queue.closecCs$tdƒ|jr |jƒndS(NuQueue.join_thread()(udebugu _jointhread(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu join_threadŒs  uQueue.join_threadc Cs=tdƒd|_y|jjƒWntk r8YnXdS(NuQueue.cancel_join_thread()T(udebuguTrueu_joincancelledu _jointhreaducanceluAttributeError(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyucancel_join_thread’s    uQueue.cancel_join_threadc Cstdƒ|jjƒtjdtjd|j|j|j|j |j j |j fddƒ|_ d |j _tdƒ|j jƒtdƒ|jtjƒk}|j rè| rèt|j tjtj|j ƒgdd ƒ|_nt|tj|j|jgdd ƒ|_dS( NuQueue._start_thread()utargetuargsunameuQueueFeederThreadudoing self._thread.start()u... done self._thread.start()u exitpriorityii Tiûÿÿÿ(udebugu_bufferuclearu threadinguThreaduQueueu_feedu _notemptyu_sendu_wlocku_writerucloseu _ignore_epipeu_threaduTrueudaemonustartu_opiduosugetpidu_joincancelleduFinalizeu_finalize_joinuweakrefurefu _jointhreadu_finalize_closeu_close(uselfucreated_by_this_process((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu _start_threadšs*           uQueue._start_threadcCsDtdƒ|ƒ}|dk r6|jƒtdƒn tdƒdS(Nujoining queue threadu... queue thread joinedu... queue thread already dead(udebuguNoneujoin(utwruthread((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu_finalize_joinÀs      uQueue._finalize_joinc CsAtdƒ|jƒz|jtƒ|jƒWd|jƒXdS(Nutelling queue thread to quit(udebuguacquireuappendu _sentinelunotifyurelease(ubufferunotempty((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu_finalize_closeÊs    uQueue._finalize_closecCs¹tdƒddlm}|j}|j}|j} |j} t} tj dkrh|j} |j} nd} y²x«|ƒz|sŽ| ƒnWd|ƒXymxf| ƒ}|| krÊtdƒ|ƒdS| dkrã||ƒq | ƒz||ƒWd| ƒXq Wqtt k rYqtXqtWn’t k r´}zr|rZt |ddƒtjkrZdSy3|ƒrvtd|ƒnddl}|jƒWnt k r¡YnXWYdd}~XnXdS( Nu$starting thread to feed data to pipei(u is_exitinguwin32u%feeder thread got sentinel -- exitinguerrnoiuerror in queue thread: %s(udebuguutilu is_exitinguacquireureleaseuwaitupopleftu _sentinelusysuplatformuNoneu IndexErroru ExceptionugetattruerrnouEPIPEuinfou tracebacku print_exc(ubufferunotemptyusendu writelockucloseu ignore_epipeu is_exitingunacquireunreleaseunwaitubpopleftusentineluwacquireuwreleaseuobjueu traceback((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu_feedÔsV              !   u Queue._feedNT(u__name__u __module__u __qualname__u__init__u __getstate__u __setstate__u _after_forkuTrueuNoneuputugetuqsizeuemptyufullu get_nowaitu put_nowaitucloseu join_threaducancel_join_threadu _start_threadu staticmethodu_finalize_joinu_finalize_closeu_feed(u __locals__((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyuQueues$            &  cBse|EeZdZddd„Zdd„Zdd„Zdddd „Zd d „Z d d „Z dS(u JoinableQueueicCs/tj||ƒtdƒ|_tƒ|_dS(Ni(uQueueu__init__u Semaphoreu_unfinished_tasksu Conditionu_cond(uselfumaxsize((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu__init__suJoinableQueue.__init__cCstj|ƒ|j|jfS(N(uQueueu __getstate__u_condu_unfinished_tasks(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu __getstate__suJoinableQueue.__getstate__cCs:tj||dd…ƒ|dd…\|_|_dS(Niiþÿÿÿiþÿÿÿ(uQueueu __setstate__u_condu_unfinished_tasks(uselfustate((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu __setstate__"suJoinableQueue.__setstate__c Cs¤|jj||ƒst‚n|jjƒ|jjƒzJ|jdkrW|jƒn|jj |ƒ|j j ƒ|jj ƒWd|jj ƒ|jj ƒXdS(N( u_semuacquireuFullu _notemptyu_condu_threaduNoneu _start_threadu_bufferuappendu_unfinished_tasksureleaseunotify(uselfuobjublockutimeout((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyuput&s      uJoinableQueue.putc Csi|jjƒzG|jjdƒs1tdƒ‚n|jjjƒrS|jjƒnWd|jjƒXdS(Nu!task_done() called too many timesF( u_conduacquireu_unfinished_tasksuFalseu ValueErroru_semlocku_is_zerou notify_allurelease(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu task_done7s uJoinableQueue.task_donec CsH|jjƒz&|jjjƒs2|jjƒnWd|jjƒXdS(N(u_conduacquireu_unfinished_tasksu_semlocku_is_zerouwaiturelease(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyujoinAs  uJoinableQueue.joinNT( u__name__u __module__u __qualname__u__init__u __getstate__u __setstate__uTrueuNoneuputu task_doneujoin(u __locals__((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu JoinableQueues    cBsP|EeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S( u SimpleQueuecCsktddƒ\|_|_tƒ|_|jj|_tj dkrQd|_ n tƒ|_ |j ƒdS(Nuduplexuwin32F( uPipeuFalseu_readeru_writeruLocku_rlockupollu_pollusysuplatformuNoneu_wlocku _make_methods(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu__init__Os   uSimpleQueue.__init__cCs |jƒ S(N(u_poll(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyuemptyYsuSimpleQueue.emptycCs&t|ƒ|j|j|j|jfS(N(uassert_spawningu_readeru_writeru_rlocku_wlock(uself((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu __getstate__\s uSimpleQueue.__getstate__cCs,|\|_|_|_|_|jƒdS(N(u_readeru_writeru_rlocku_wlocku _make_methods(uselfustate((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu __setstate__`suSimpleQueue.__setstate__cs±|jj‰|jj|jj‰‰‡‡‡fdd†}||_|jdkrg|jj |_ nF|jj ‰|jj|jj‰‰‡‡‡fdd†}||_ dS(Nc s!ˆƒz ˆƒSWdˆƒXdS(N(((uracquireurecvurrelease(u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyugetgs u&SimpleQueue._make_methods..getc s$ˆƒzˆ|ƒSWdˆƒXdS(N((uobj(usenduwacquireuwrelease(u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyuputusu&SimpleQueue._make_methods..put( u_readerurecvu_rlockuacquireureleaseugetu_wlockuNoneu_writerusenduput(uselfugetuput((uracquireurecvurreleaseusenduwacquireuwreleaseu;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu _make_methodsds   uSimpleQueue._make_methodsN(u__name__u __module__u __qualname__u__init__uemptyu __getstate__u __setstate__u _make_methods(u __locals__((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu SimpleQueueMs    (u__all__usysuosu threadingu collectionsutimeuweakrefuerrnouqueueuEmptyuFullu_multiprocessingumultiprocessing.connectionuPipeumultiprocessing.synchronizeuLockuBoundedSemaphoreu Semaphoreu Conditionumultiprocessing.utiludebuguinfouFinalizeuregister_after_forkumultiprocessing.forkinguassert_spawninguobjectuQueueu _sentinelu JoinableQueueu SimpleQueue(((u;/opt/alt/python33/lib64/python3.3/multiprocessing/queues.pyu s"        ""ï 5