g1gdZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z m Z ddl Z ddl mZddl mZej j"ZddlmZmZmZmZmZGdd eZeZGd d eZGd d eZy))Queue SimpleQueue JoinableQueueN)EmptyFull) connection)context)debuginfoFinalizeregister_after_fork is_exitingceZdZddZdZdZdZddZddZddZ d Z d Z d Z d Z d ZdZdZdZdZdZedZedZedZedZeej6Zy)rc|dkrddlm}||_tjd\|_|_|j|_tj|_ tjdk(rd|_n|j|_|j||_d|_|j%tjdk7rt'|t(j*yy)Nrr) SEM_VALUE_MAXFduplexwin32) synchronizer_maxsizer Pipe_reader_writerLock_rlockosgetpid_opidsysplatform_wlockBoundedSemaphore_sem _ignore_epipe_resetrr _after_forkselfmaxsizectxs =/opt/alt/python312/lib64/python3.12/multiprocessing/queues.py__init__zQueue.__init__%s a< = %/__E%B" dlhhj YY[ <<7 "DK((*DK((1 " <<7 " e&7&7 8 #ctj||j|j|j|j |j |j|j|jfSN) r assert_spawningr%rrrrr"r$rr)s r, __getstate__zQueue.__getstate__9sP%""DMM4<< T[[$))TZZA Ar.c |\|_|_|_|_|_|_|_|_|jyr0) r%rrrrr"r$rr&r)states r, __setstate__zQueue.__setstate__>s5td|jdy)NzQueue._after_fork()T) after_fork)r r&r2s r,r'zQueue._after_forkCs #$ t $r.c|r|jjn,tjtj|_t j |_d|_d|_ d|_ d|_ d|_ |jj|_|j j"|_|j j&|_yNF) _notempty_at_fork_reinit threading Conditionr collectionsdeque_buffer_thread _jointhread_joincancelled_closed_closer send_bytes _send_bytesr recv_bytes _recv_bytespoll_poll)r)r9s r,r&z Queue._resetGs  NN * * ,&001ABDN"((*  #  <<22<<22\\&& r.Ncb|jrtd|d|jj||st|j 5|j |j|jj||j jdddy#1swYyxYwNzQueue z is closed) rF ValueErrorr$acquirerr<rC _start_threadrBappendnotifyr)objblocktimeouts r,putz Queue.putVs <<vdXZ89 9yy  0J ^^||#""$ LL   $ NN ! ! # ^^s AB%%B.c|jrtd|d|rB|@|j5|j}ddd|jj n|rt j|z}|jj||st |r.t jz }|j|st|jst|j}|jj |jj tjS#1swYxYw#|jj wxYwrO) rFrPrrKr$releasetime monotonicrQrrM_ForkingPicklerloads)r)rWrXresdeadlines r,getz Queue.getbs  <<vdXZ89 9 W_&&( II   >>+g5;;&&ug6  &&)99G::g.# K&&( !!# ##%$$S)))$ ##%sD;A0E;EE#cd|j|jjjz Sr0)rr$_semlock _get_valuer2s r,qsizez Queue.qsize|s$}}tyy11<<>>>r.c$|j Sr0rMr2s r,emptyz Queue.empty::<r.cJ|jjjSr0)r$rd_is_zeror2s r,fullz Queue.fullsyy!!**,,r.c$|jdSr;)rbr2s r, get_nowaitzQueue.get_nowaitsxxr.c&|j|dSr;)rYr)rVs r, put_nowaitzQueue.put_nowaitsxxU##r.cLd|_|j}|rd|_|yy)NT)rFrG)r)closes r,rtz Queue.closes&   DK G r.cTtd|jr|jyy)NzQueue.join_thread())r rDr2s r, join_threadzQueue.join_threads% #$        r.c|tdd|_ |jjy#t$rYywxYw)NzQueue.cancel_join_thread()T)r rErDcancelAttributeErrorr2s r,cancel_join_threadzQueue.cancel_join_threads< *+"     # # %   s / ;;c|jjtjdk(r|jj|j|j y)Nr)rrtr r!rrvr2s r,_terminate_brokenzQueue._terminate_brokensG  <<7 " LL     r.c ,td|jjtjt j |j|j|j|j|jj|jj|j|j|jf dd|_ td|j j#td|j$sJt'|j t j(t+j,|j gd|_t'|t j0|j|jgd |_y#d|_xYw) NzQueue._start_thread()QueueFeederThreadT)targetargsnamedaemonzdoing self._thread.start()z... done self._thread.start()) exitpriority )r rBclearr>Threadr_feedr<rIr"rrtrr%_on_queue_feeder_errorr$rCstartrEr _finalize_joinweakrefrefrD_finalize_closerGr2s r,rRzQueue._start_threads2 %&  '';;,,0@0@++t||114<<3E3E$$d&A&A))%    . / LL   1 2""' e22T\\*+ D  %'' \\4>> *   DL s 0F Fcztd|}||jtdytdy)Nzjoining queue threadz... queue thread joinedz... queue thread already dead)r join)twrthreads r,rzQueue._finalize_joins3 $%   KKM + , 1 2r.ctd|5|jt|jdddy#1swYyxYw)Nztelling queue thread to quit)r rS _sentinelrT)buffernotemptys r,rzQueue._finalize_closes. ,-  MM) $ OO XXs &=Ac td|j} |j} |j} |j} t } t jdk7r|j}|j}nd} |  |s| |  | }|| urtd||ytj|}| ||n| ||]#| wxYw#wxYw#t$rYnwxYwno#t$rc}|r#t|ddtjk(rYd}~ytrt!d|Yd}~y|j||Yd}~nd}~wwxYw)Nz$starting thread to feed data to piperz%feeder thread got sentinel -- exitingerrnorzerror in queue thread: %s)r rQr[waitpopleftrr r!r^dumps IndexError ExceptiongetattrrEPIPErr )rrrH writelock reader_close writer_close ignore_epipeonerror queue_semnacquirenreleasenwaitbpopleftsentinelwacquirewreleaserVes r,rz Queue._feedsh 45#### >> <<7 " ((H ((HH- $ !J&j(?!"IJ(N(N".33C8#+&sO$J+ *3 ( #J&!) ! $GAw$:ekk$I <4a8%%'AsOO# $;sx2D: C)D %D1'DC5!D) C22D5 C>>D D  D D  D E= E8?E8E88E=c. ddl}|jy)Nr) traceback print_exc)rrVrs r,rzQueue._on_queue_feeder_error&s  r.r)FTN)__name__ __module__ __qualname__r-r3r7r'r&rYrbrfrirmrorrrtrvrzr|rR staticmethodrrrr classmethodtypes GenericAlias__class_getitem__r.r,rr#s9(A  % ' $*4? -$  %N33 <$<$|$E$6$67r.rc4eZdZddZdZdZd dZdZdZy) rctj||||jd|_|j |_y)N)r+r)rr- Semaphore_unfinished_tasksr?_condr(s r,r-zJoinableQueue.__init__>s2 tW#.!$q!1]]_ r.c^tj||j|jfzSr0)rr3rrr2s r,r3zJoinableQueue.__getstate__Cs'!!$'4::t7M7M*NNNr.cZtj||dd|dd\|_|_y)N)rr7rrr5s r,r7zJoinableQueue.__setstate__Fs- 4s,-223Z* D*r.Nc|jrtd|d|jj||st|j 5|j 5|j|j|jj||jj|j jddddddy#1swYxYw#1swYyxYwrO)rFrPr$rQrr<rrCrRrBrSrr[rTrUs r,rYzJoinableQueue.putJs <<vdXZ89 9yy  0J ^^TZZ||#""$ LL   $  " " * * , NN ! ! # (^^ZZ^^s% C A,CC C C  C)c|j5|jjds td|jjj r|jj dddy#1swYyxYw)NFz!task_done() called too many times)rrrQrPrdrl notify_allr2s r, task_donezJoinableQueue.task_doneWs[ ZZ))11%8 !DEE%%..779 %%' ZZs A%A;;Bc|j5|jjjs|jj dddy#1swYyxYwr0)rrrdrlrr2s r,rzJoinableQueue.join^s9 ZZ))22;;= !ZZs ?AArr) rrrr-r3r7rYrrrr.r,rr<s!% O8 $("r.rcZeZdZdZdZdZdZdZdZdZ e e jZ y) rc tjd\|_|_|j |_|jj |_tjdk(rd|_ y|j |_ y)NFrr) r rrrrrrLrMr r!r")r)r+s r,r-zSimpleQueue.__init__isW%/__E%B" dlhhj \\&& <<7 "DK((*DKr.cl|jj|jjyr0)rrtrr2s r,rtzSimpleQueue.closers"  r.c$|j Sr0rhr2s r,rizSimpleQueue.emptyvrjr.ctj||j|j|j|j fSr0)r r1rrrr"r2s r,r3zSimpleQueue.__getstate__ys/% dllDKKEEr.cp|\|_|_|_|_|jj|_yr0)rrrr"rLrMr5s r,r7zSimpleQueue.__setstate__}s)AF>t|T[$+\\&& r.c|j5|jj}dddtj S#1swYxYwr0)rrrJr^r_)r)r`s r,rbzSimpleQueue.gets; [[,,))+C$$S))[s AActj|}|j|jj |y|j5|jj |dddy#1swYyxYwr0)r^rr"rrHrqs r,rYzSimpleQueue.putsQ##C( ;;  LL # #C ( '',s A//A8N)rrrr-rtrir3r7rbrYrrrrrr.r,rrgs9% F'* -$E$6$67r.r)__all__r rr>r@r\rrrqueuerr_multiprocessingr r reductionForkingPicklerr^utilr r r rrobjectrrrrrr.r,rsx 4   ##22HH L8FL8^ H %"E%"V*8&*8r.