python (3.12.0)

(root)/
lib/
python3.12/
multiprocessing/
__pycache__/
process.cpython-312.pyc

̑ek/gdZddlZddlZddlZddlZddlZddlmZ	ejjejZdZ
dZdZdZGdd	eZGd
deZGdd
eZGddeZdaeaej2daea[iZeej>jAD]\Z!Z"e!dddk(sde!vsde!ee"<[!["eZ#y#e$rdZYwxYw))BaseProcesscurrent_processactive_childrenparent_processN)WeakSetctS)z@
    Return process object representing the current process
    )_current_processK/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/multiprocessing/process.pyrr%s
rc4tttS)zN
    Return list of process objects corresponding to live child processes
    )_cleanuplist	_childrenr
rrrr+s
J	?rctS)z?
    Return process object representing the parent process
    )_parent_processr
rrrr3s
rcttD]7}|jx}s|j#tj	|9yN)rr_popenpolldiscard)pchild_popens  rrr=s@
)_!88#K#)9)9);)Ga !rcNeZdZdZdZddddifdddZdZdZd	Zd
Z	dZ
ddZd
ZdZ
edZej dZedZej dZedZej dZedZedZeZedZdZddZedZy)rz
    Process objects represent activity that is run in a separate process

    The class is analogous to `threading.Thread`
    ctr)NotImplementedErrorselfs r_PopenzBaseProcess._PopenMs!!rNr
)daemonc6|Jdtt}tj|fz|_tjj|_t
j|_tj|_
d|_d|_||_
t||_t!||_|xs;t%|j&dzdj)d|jDz|_|||_t.j1|y)Nz#group argument must be None for nowF-:c32K|]}t|ywr)str).0is  r	<genexpr>z'BaseProcess.__init__.<locals>.<genexpr>^s=c!f=s)next_process_counterr		_identity_configcopyosgetpid_parent_pidname_parent_namer_closed_targettuple_argsdict_kwargstype__name__join_namer 	_danglingadd)rgrouptargetr1argskwargsr counts        r__init__zBaseProcess.__init__Ps}CCC%&)33uh>'//44699;,114[
F|>T$Z0036XX=dnn==>
 DK

drc2|jrtdy)Nzprocess object is closed)r3
ValueErrorrs r
_check_closedzBaseProcess._check_closedcs<<788rcj|jr'|j|ji|jyy)zQ
        Method to be run in sub-process; can be overridden in sub-class
        N)r4r6r8rs rrunzBaseProcess.rungs+<<DLL$**55rc|j|jJd|jtjk(sJdt
jjdrJdt|j||_|jj|_|`|`
|`tj!|y)z%
        Start child process
        Nzcannot start a process twicez:can only start a process object created by current processr z3daemonic processes are not allowed to have children)rGrr0r.r/r	r,getrrsentinel	_sentinelr4r6r8rr>rs rstartzBaseProcess.startns	
{{"B$BB299;.	LK	L#++//9	ED	E
kk$'--
L$*dl

drcX|j|jjy)zT
        Terminate process; sends SIGTERM signal or uses TerminateProcess()
        N)rGr	terminaters rrPzBaseProcess.terminates 	
rcX|j|jjy)zT
        Terminate process; sends SIGKILL signal or uses TerminateProcess()
        N)rGrkillrs rrRzBaseProcess.kills 	
rc|j|jtjk(sJd|jJd|jj|}|tj|yy)z5
        Wait until child process terminates
        zcan only join a child processNzcan only join a started process)rGr0r.r/rwaitrr)rtimeoutress   rr;zBaseProcess.joinsl	
299;.O0OO{{&I(IIkkw'?d#rc|j|tury|jtjk(sJd|j
y|j
j
}|ytj|y)z1
        Return whether process is alive
        Tzcan only test a child processF)	rGr	r0r.r/rrrr)r
returncodes  ris_alivezBaseProcess.is_alivesr	
##299;.O0OO;;[[%%'
d#rc|j]|jjtd|jjd|_|`t
j
|d|_y)z
        Close the Process object.

        This method releases resources held by the Process object.  It is
        an error to call this method if the child process is still running.
        Nz^Cannot close a process while it is still running. You should first call join() or terminate().T)rrrFcloserMrrr3rs rr[zBaseProcess.closesg;;"{{!) "PQQKKDKd#rc|jSr)r<rs rr1zBaseProcess.nameszzrc@t|tsJd||_y)Nzname must be a string)
isinstancer%r<)rr1s  rr1zBaseProcess.names$$=&==
rc:|jjddS)z4
        Return whether process is a daemon
        r F)r,rKrs rr zBaseProcess.daemons
||%00rcH|jJd||jd<y)z1
        Set whether process is a daemon
        Nzprocess has already startedr )rr,)rdaemonics  rr zBaseProcess.daemons%
{{"A$AA!)Xrc |jdS)Nauthkey)r,rs rrczBaseProcess.authkeys||I&&rc4t||jd<y)z2
        Set authorization key of process
        rcN)AuthenticationStringr,)rrcs  rrczBaseProcess.authkeys
#7w"?Yrc|j|j|jS|jjS)zM
        Return exit code of process or `None` if it has yet to stop
        )rGrrrs rexitcodezBaseProcess.exitcodes7
	
;;;;{{!!rc|j|turtjS|jxr|jj
S)zU
        Return identifier (PID) of process or `None` if it has yet to start
        )rGr	r.r/rpidrs ridentzBaseProcess.idents<
	
##99;;;24;;??2rcn|j	|jS#t$r
tddwxYw)z{
        Return a file descriptor (Unix) or handle (Windows) suitable for
        waiting for process termination.
        zprocess not startedN)rGrMAttributeErrorrFrs rrLzBaseProcess.sentinels<	
	>>>!	>23=	>s4cd}|turd}nc|jrd}nT|jtjk7rd}n0|j
d}n!|j
j
}|d}nd}t|jd|jzg}|j
(|jd|j
jz|jd|jz|j||*tj||}|jd	|z|jr|jd
ddj|zS)
Nstartedclosedunknowninitialstoppedzname=%rzpid=%sz	parent=%szexitcode=%sr z<%s> )r	r3r0r.r/rrr9r:r<appendri_exitcode_to_namerKr r;)rrgstatusinfos    r__repr__zBaseProcess.__repr__s##F
\\F



,F
[[
 F{{'')H#""T
##Y%;<;;"KK4;;??23K$"2"223F(,,Xx@HKK
01;;KK!&&rcddlm}m}	|j|j	|jtjdata	|jt}|at|j|j|at j"r"t!j$j'	|j)~|j+d	|j-d}|j/	t!jF|j+d|z|jI|S#~wxYw#|j/wxYw#t0$rw}|j2d}n^t5|j2t6r
|j2}n7t8j:j=t?|j2dzd}Yd}~d}~wd}ddl }t8j:j=d|jBz|jEYxYw#t!jF|j+dz|jIwxYw)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_IDmain_thread_set_native_id_after_forkrwrI_exit_function
SystemExitcoder^intsysstderrwriter%	tracebackr1	print_exc	_shutdown_flush_std_streams)rparent_sentinelr{r|old_processrgers        r
_bootstrapzBaseProcess._bootstrap"s#(	&!!-++D,>,>?(q1I*K#,!!4#3#3_FO//%%'668
   " II89
&
##%
!II88CD##%3 ##%	vv~AFFC(66

  QVVt!34	"HJJ_tyy89!!II88CD##%sbB1E<D<EE1EH<D??EEE	H A-G
HAHH:Icdddlm}|jj|j	y)Nrzr{)r~r{_finalizer_registryclear_run_after_forkersrs rrzBaseProcess._after_forkRs#  &&(!rr)r:
__module____qualname____doc__rrDrGrIrNrPrRr;rYr[propertyr1setterr rcrgrjrirLrxrstaticmethodrr
rrrrGs4
""$T2&96$ 	$&"
[[11]]**''
^^@@""33C
	>	>'>.`""rrceZdZdZy)recVddlm}|tdtt	|ffS)Nrz)get_spawning_popenzJPickling an AuthenticationString object is disallowed for security reasons)r|r	TypeErrorrebytes)rrs  r
__reduce__zAuthenticationString.__reduce__^s3/'2
$eDk^33rN)r:rrrr
rrrere]s4rrec4eZdZdZdZedZddZeZy)rctd|_||_||_d|_d|_d|_||_i|_y)Nr
F)r+r<_pidr0rr3rMr,)rr1rirLs    rrDz_ParentProcess.__init__ns;
	!rc:ddlm}||jgdS)NrrTrUmultiprocessing.connectionrTrM)rrTs  rrYz_ParentProcess.is_alivexs3(!444rc|jSr)rrs rrjz_ParentProcess.ident|syyrNc:ddlm}||jg|y)z6
        Wait until parent process terminates
        rrrNr)rrUrTs   rr;z_ParentProcess.joins	4dnn
w/rr)	r:rrrDrYrrjr;rir
rrrrls,50CrrceZdZdZdZy)_MainProcesscd|_d|_d|_d|_d|_tt
jddd|_y)Nr
MainProcessF z/mp)rc	semprefix)	r+r<r0rr3rer.urandomr,rs rrDz_MainProcess.__init__sB"
#7

2#G%*,rcyrr
rs rr[z_MainProcess.closesrN)r:rrrDr[r
rrrrs,$
rrrzSIG_r")$__all__r.rsignalrr_weakrefsetrpathabspathgetcwdORIGINAL_DIROSErrorrrrrobjectrrrerrrr	rCr*rrrur__dict__itemsr1signumr=r
rr<module>rs+


77??9299;/L!O"&O"l454[B
;
0>"9??1%E	..010LD&BQx3d?'(Z6'"0	&
I	sLs*C00C:9C: