e|1 /SQrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK J r J r SSK J r SSK Jr \RR rSSKJrJrJrJrJr "SS \5r\"5r"S S \5r"S S \5rg))Queue SimpleQueue JoinableQueueN)EmptyFull) connection)context)debuginfoFinalizeregister_after_fork is_exitingc\rSrSrSSjrSrSrSrSSjrSSjr SS jr S r S r S r S rSrSrSrSrSrSr\S5r\S5r\S5r\S5r\"\R85rSrg)r!cUS::aSSKJn Xl[R"SS9uUlUlUR5Ul[R"5Ul [RS:XaSUlOUR5UlURU5UlSUlUR%5 [RS:wa['U[(R*5 gg)Nrr) SEM_VALUE_MAXFduplexwin32) synchronizer_maxsizer Pipe_reader_writerLock_rlockosgetpid_opidsysplatform_wlockBoundedSemaphore_sem _ignore_epipe_resetrr _after_forkselfmaxsizectxs c&UR(a[SU<S35eU(aCUc@UR UR5nSSS5 URR 5 OU(a[ R"5U-nURRX5(d[eU(a5W[ R"5- nURU5(d[eOUR5(d[eUR5nURR 5 URR 5 [RW5$!,(df  GN =f!URR 5 f=frU) rKrVrrPr%releasetime monotonicrWrrR_ForkingPicklerloads)r*r]r^resdeadlines r-get Queue.get`s <<vdXZ89 9 W_&&( II   >>+g5;;&&u66  &&)99G::g..# /K&&( !!# ##%$$S)))$ ##%sE"2BE4" E14FcdURURRR5- $r2)rr%_semlock _get_valuer4s r-qsize Queue.qsizezs$}}tyy11<<>>>r0c,UR5(+$r2rRr4s r-empty Queue.empty~::<r0cJURRR5$r2)r%rl_is_zeror4s r-full Queue.fullsyy!!**,,r0c$URS5$r@)rir4s r- get_nowaitQueue.get_nowaitsxxr0c&URUS5$r@)r_r*r\s r- put_nowaitQueue.put_nowaitsxxU##r0cVSUlURnU(aSUlU"5 gg)NT)rKrL)r*closes r-r Queue.closes&   DK G r0c[S5 UR(dSRU55eUR(aUR5 gg)NzQueue.join_thread()zQueue {0!r} not closed)r rKformatrIr4s r- join_threadQueue.join_threadsB #$||B5<> *   DL s 0F Fc|[S5 U"5nUbUR5 [S5 g[S5 g)Nzjoining queue threadz... queue thread joinedz... queue thread already dead)r join)twrthreads r-rQueue._finalize_joins3 $%   KKM + , 1 2r0c[S5 U UR[5 UR5 SSS5 g!,(df  g=f)Nztelling queue thread to quit)r rY _sentinelrZ)buffernotemptys r-rQueue._finalize_closes. ,-  MM) $ OO XXs &= A c 0[S5 URn URn URn URn [ n [ RS:waURnURnOSnU "5 U(dU "5 U "5 U "5nUU La[S5 U"5 U"5 g[RU5nUc U"U5 OU"5 U"U5 W"5 M`!U "5 f=f!W"5 f=f![a Of=f![annU(a$[USS5[R:XaSnAg[5(a[!SU5 SnAgUR5 U"UW5 SnAOSnAff=fGM&)Nz$starting thread to feed data to piperz%feeder thread got sentinel -- exitingerrnorzerror in queue thread: %s)r rWrbwaitpopleftrr!r"redumps IndexError ExceptiongetattrrEPIPErr )rrrM writelock reader_close writer_close ignore_epipeonerror queue_semnacquirenreleasenwaitbpopleftsentinelwacquirewreleaser\es r-r Queue._feedsf 45#### >> <<7 " ((H ((HH- $ !J&j(?!"IJ(N(N".33C8#+&sO$J+ *3 ( #J&!) ! $GAw$:ekk$I <<4a8%%'AsOO# $;sx3D;C2 D&D 8(D !C>) D 2 C;;D> DD DDDD F$&F F /F  Fc,SSKnUR5 g)z Private API hook called when feeding data in the background thread raises an exception. For overriding by concurrent.futures. rN) traceback print_exc)rr\rs r-rQueue._on_queue_feeder_error$s r0)rGrLrKr&rJrIrrAr rRrrPrr%rNrHr#rr)FTN)__name__ __module__ __qualname____firstlineno__r.r5r:r(r'r_rirnrrrwrzr~rrrrrX staticmethodrrrr classmethodtypes GenericAlias__class_getitem____static_attributes__r0r-rr!s9(A  % ' $*4? -$  %N33 <$<$|$E$6$67r0rc@\rSrSrS SjrSrSrS SjrSrSr S r g) ri:c[RXUS9 URS5UlUR 5Ulg)N)r,r)rr. Semaphore_unfinished_tasksrD_condr)s r-r.JoinableQueue.__init__<s0 t#.!$q!1]]_ r0c^[RU5URUR4-$r2)rr5rrr4s r-r5JoinableQueue.__getstate__As'!!$'4::t7M7M*NNNr0cX[RXSS5 USSuUlUlg)N)rr:rrr8s r-r:JoinableQueue.__setstate__Ds+ 4s,-223Z* D*r0NcUR(a[SU<S35eURRX#5(d[eUR  UR  URcUR5 URRU5 URR5 UR R5 SSS5 SSS5 g!,(df  N=f!,(df  g=frU)rKrVr%rWrrArrHrXrGrYrrbrZr[s r-r_JoinableQueue.putHs <<vdXZ89 9yy  00J ^^TZZ||#""$ LL   $  " " * * , NN ! ! # (^^ZZ^^s% C0!A-CC0 C- )C00 C>c,UR URRS5(d [S5eURRR 5(aURR 5 SSS5 g!,(df  g=f)NFz!task_done() called too many times)rrrWrVrlrv notify_allr4s r- task_doneJoinableQueue.task_doneUsa ZZ))11%88 !DEE%%..7799 %%' ZZs A/B BcUR URRR5(dURR 5 SSS5 g!,(df  g=fr2)rrrlrvrr4s r-rJoinableQueue.join\s< ZZ))22;;== !ZZs AA A()rrrr) rrrrr.r5r:r_rrrrr0r-rr:s!% O8 $("r0rcb\rSrSrSrSrSrSrSrSr Sr \ "\ R5rS rg ) riec[R"SS9uUlUlUR 5UlURR Ul[RS:XaSUl gUR 5Ul g)NFrr) r rrrrrrQrRr!r"r#)r*r,s r-r.SimpleQueue.__init__gsW%/__E%B" dlhhj \\&& <<7 "DK((*DKr0clURR5 URR5 gr2)rrrr4s r-rSimpleQueue.closeps"  r0c,UR5(+$r2rqr4s r-rrSimpleQueue.emptytrtr0c[R"U5 URURURUR 4$r2)r r3rrrr#r4s r-r5SimpleQueue.__getstate__ws/% dllDKKEEr0cpUuUlUlUlUlURRUlgr2)rrrr#rQrRr8s r-r:SimpleQueue.__setstate__{s)AF>t|T[$+\\&& r0cUR URR5nSSS5 [R W5$!,(df  N#=fr2)rrrOrerf)r*rgs r-riSimpleQueue.gets; [[,,))+C$$S))[s A Ac[RU5nURcURR U5 gUR URR U5 SSS5 g!,(df  g=fr2)rerr#rrMr}s r-r_SimpleQueue.putsQ##C( ;;  LL # #C ( '',s A00 A>)rRrrr#rN)rrrrr.rrrr5r:rir_rrrrrrr0r-rres9% F'* -$E$6$67r0r)__all__r!rrCrErcrrrqueuerrr r reductionForkingPicklerreutilr r r rrobjectrrrrrr0r-rsu 4   ##22HH L8FL8^ H %"E%"V*8&*8r0