fk/&gdZddlZddlZddlZddlZddlZddlmZ ej ej Z n #e $rdZ YnwxYwdZ dZdZdZGdd eZGd d eZGd d eZGddeZdaeaejdaea[iZeej D] \Z!Z"e!dddkr de!vr de!ee" <![!["eZ#dS)) BaseProcesscurrent_processactive_childrenparent_processN)WeakSetc tSN)_current_process>/opt/alt/python311/lib64/python3.11/multiprocessing/process.pyrr%s r cH tttSr )_cleanuplist _childrenr r r rr+s JJJ  ??r c tSr )_parent_processr r r rr3s r cttD]9}|jx}r.|t|:dSr )rr_popenpolldiscard)p child_popens r rr=sV )__!!8 #K !)9)9););)G   a !!r cleZdZ dZddddifdddZdZdZdZd Zd Z dd Z d Z d Z e dZejdZe dZejdZe dZejdZe dZe dZeZe dZdZddZedZdS)rctr )NotImplementedErrorselfs r _PopenzBaseProcess._PopenMs!!r Nr )daemonc6tt}tj|fz|_tj|_t j|_tj |_ d|_ d|_ ||_ t||_t!||_|p;t%|jdzdd|jDz|_|||_t.|dS)NF-:c34K|]}t|VdSr )str).0is r z'BaseProcess.__init__..^s(==c!ff======r )next_process_counterr _identity_configcopyosgetpid _parent_pidname _parent_namer_closed_targettuple_argsdict_kwargstype__name__join_namer _danglingadd)rgrouptargetr1argskwargsr counts r __init__zBaseProcess.__init__Ps%&&)3uh>'/4466 9;;,1   4[[ F|| >T$ZZ036XX==dn=====>   DK dr c2|jrtddS)Nzprocess object is closed)r3 ValueErrorrs r _check_closedzBaseProcess._check_closedcs% < 9788 8 9 9r cH |jr|j|ji|jdSdSr )r4r6r8rs r runzBaseProcess.rungs>  < 6 DL$* 5 5 5 5 5 5 6 6r c |t|||_|jj|_|`|`|`t |dSr ) rGrrrsentinel _sentinelr4r6r8rr>rs r startzBaseProcess.startnsl    kk$'' - L$*dl dr cb ||jdSr )rGr terminaters r rOzBaseProcess.terminates5   r cb ||jdSr )rGrkillrs r rQzBaseProcess.kills5   r c ||j|}|t|dSdSr )rGrwaitrr)rtimeoutress r r;zBaseProcess.joinsX  kw'' ?   d # # # # # ?r c ||turdS|jdS|j}|dSt|dS)NTF)rGr rrrr)r returncodes r is_alivezBaseProcess.is_alivesr   # # #4 ; 5[%%''  4   d # # #5r c |jd|jtd|jd|_|`t |d|_dS)Nz^Cannot close a process while it is still running. You should first call join() or terminate().T)rrrFcloserLrrr3rs r rZzBaseProcess.closes ; "{!!) "PQQQ K     DK   d # # # r c|jSr r<rs r r1zBaseProcess.names zr c||_dSr r\)rr1s r r1zBaseProcess.names r c: |jddS)Nr F)r,getrs r r zBaseProcess.daemons! |%000r c ||jd<dS)Nr r,)rdaemonics r r zBaseProcess.daemons "* Xr c|jdSNauthkeyrars r rezBaseProcess.authkeys|I&&r c6 t||jd<dSrd)AuthenticationStringr,)rres r rezBaseProcess.authkeys# #7w"?"? Yr cz ||j|jS|jSr )rGrrrs r exitcodezBaseProcess.exitcodes?   ; ; {!!!r c ||turtjS|jo |jjSr )rGr r.r/rpidrs r identzBaseProcess.identsD   # # #9;; ;24;? 2r cx | |jS#t$rtddwxYw)Nzprocess not started)rGrLAttributeErrorrFrs r rKzBaseProcess.sentinelsT   >> ! > > >233 = >s9cd}|turd}nS|jrd}nI|jtjkrd}n*|jd}n |j}|d}nd}t|jd|j zg}|j"| d|jj z| d|jz| ||3t ||}| d |z|jr| d d d |zS) Nstartedclosedunknowninitialstoppedzname=%rzpid=%sz parent=%sz exitcode=%sr z<%s> )r r3r0r.r/rrr9r:r<appendrk_exitcode_to_namer_r r;)rristatusinfos r __repr__zBaseProcess.__repr__sF # # #FF \ #FF   , ,FF [ FF{''))H#""T #Y%;< ; " KK4;?2 3 3 3 K$"22333 F  (,,Xx@@H KK 0 1 1 1 ; " KK ! ! !&&r cddlm}m} |j||jt jdata | t}|a t|j |j|at jr%t!j |~n#~wxYw|d |d}|n#|wxYwn#t0$rl}|jd}nXt5|jt6r|j}n6t8jt?|jdzd}Yd}~nKd}~wd}ddl }t8jd|j!z|"YnxYwt!j#|d|z|$nD#t!j#|d|z|$wxYw|S)N)utilcontextz child process calling self.run()r z Process %s: z process exiting with exitcode %d)%r}r~ _start_method_force_start_method itertoolsrCr*setr _close_stdinr _ParentProcessr2r0r threading_HAVE_THREAD_NATIVE_ID main_thread_set_native_id _after_forkryrI_exit_function SystemExitcode isinstanceintsysstderrwriter% tracebackr1 print_exc _shutdown_flush_std_streams)rparent_sentinelr}r~ old_processriers r _bootstrapzBaseProcess._bootstrap"s|########( &!-++D,>???(q11 I      *K# ,!4#3_FFO/ 9%''66888   """ KK II8 9 9 9 & ##%%%%##%%%%%   v~AFC(( 6   QVt!3444 "H     J  _ty8 9 9 9    ! ! ! ! !   ! ! ! II88C D D D  # # % % % %   ! ! ! II88C D D D  # # % % % %scB,D.7C D. CD.)D?D.D**D.-H*. G'8A"FH*AG'%H**AI+clddlm}|j|dS)Nr|r})rr}_finalizer_registryclear_run_after_forkersrs r rzBaseProcess._after_forkRsA  &&((( !!!!!r r )r: __module__ __qualname__rrDrGrIrMrOrQr;rXrZpropertyr1setterr rerirlrkrKrzr staticmethodrr r r rrGs """"$T2&999666$    $ $ $ $&"X [[11X1  ]**]*''X' ^@@^@ ""X"33X3 C  > >X >'''>....`""\"""r rceZdZdZdS)rgcnddlm}|tdtt |ffS)Nr|)get_spawning_popenzJPickling an AuthenticationString object is disallowed for security reasons)r~r TypeErrorrgbytes)rrs r __reduce__zAuthenticationString.__reduce__^sO//////     '2 $eDkk^33r N)r:rrrr r r rgrg]s#44444r rgc<eZdZdZdZedZddZeZdS)rcvd|_||_||_d|_d|_d|_||_i|_dS)Nr F)r+r<_pidr0rr3rLr,)rr1rkrKs r rDz_ParentProcess.__init__ns?    ! r c6ddlm}||jgd SNr)rS)rTmultiprocessing.connectionrSrL)rrSs r rXz_ParentProcess.is_alivexs13333334(!44444r c|jSr )rrs r rlz_ParentProcess.ident|s yr Nc: ddlm}||jg|dSrr)rrTrSs r r;z_ParentProcess.joins;  433333 dn w//////r r ) r:rrrDrXrrlr;rkr r r rrlsb555X0000 CCCr rceZdZdZdZdS) _MainProcesscd|_d|_d|_d|_d|_t t jddd|_dS)Nr MainProcessF z/mp)re semprefix) r+r<r0rr3rgr.urandomr,rs r rDz_MainProcess.__init__sN"   #7 2#G#G%*,, r cdSr r rs r rZz_MainProcess.closes r N)r:rrrDrZr r r rrs2,,,$     r rr|SIG_r")$__all__r.rsignalrr _weakrefsetrpathabspathgetcwd ORIGINAL_DIROSErrorrrrrobjectrrrgrrrr rCr*rrrwr__dict__itemsr1signumr=r r r rs:     7??929;;//LLLLL !!!O"O"O"O"O"&O"O"O"l444445444[B     ;   0<>>"9?1%% CEE  D..001100LD& BQBx3d??%/ZZ6'"& GII s'AAA