python (3.12.0)

(root)/
lib/
python3.12/
multiprocessing/
__pycache__/
process.cpython-312.opt-1.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
)daemonc$tt}tj|fz|_tjj|_t
j|_tj|_
d|_d|_||_
t||_t!||_|xs;t%|j&dzdj)d|jDz|_|||_t.j1|y)NF-: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%&)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|jt|j||_|jj|_|`|`|`tj|y)z%
        Start child process
        N)rGrrrsentinel	_sentinelr4r6r8rr>rs rstartzBaseProcess.startnsS	
	
kk$'--
L$*dl

drcX|j|jjy)zT
        Terminate process; sends SIGTERM signal or uses TerminateProcess()
        N)rGr	terminaters rrOzBaseProcess.terminates 	
rcX|j|jjy)zT
        Terminate process; sends SIGKILL signal or uses TerminateProcess()
        N)rGrkillrs rrQzBaseProcess.kills 	
rc|j|jj|}|tj	|yy)z5
        Wait until child process terminates
        N)rGrwaitrr)rtimeoutress   rr;zBaseProcess.joins>	
kkw'?d#rc|j|tury|jy|jj}|ytj|y)z1
        Return whether process is alive
        TF)rGr	rrrr)r
returncodes  ris_alivezBaseProcess.is_alivesW	
##;;[[%%'
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)rrrFcloserLrrr3rs rrZzBaseProcess.closesg;;"{{!) "PQQKKDKd#rc|jSrr<rs rr1zBaseProcess.nameszzrc||_yrr\)rr1s  rr1zBaseProcess.names
rc:|jjddS)z4
        Return whether process is a daemon
        r F)r,getrs rr zBaseProcess.daemons
||%00rc"||jd<y)z1
        Set whether process is a daemon
        r Nr,)rdaemonics  rr zBaseProcess.daemons"*Xrc |jdS)Nauthkeyrars rrdzBaseProcess.authkeys||I&&rc4t||jd<y)z2
        Set authorization key of process
        rdN)AuthenticationStringr,)rrds  rrdzBaseProcess.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)rGrLAttributeErrorrFrs rrKzBaseProcess.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<appendrj_exitcode_to_namer_r r;)rrhstatusinfos    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_forkrxrI_exit_function
SystemExitcode
isinstanceintsysstderrwriter%	tracebackr1	print_exc	_shutdown_flush_std_streams)rparent_sentinelr|r}old_processrhers        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)Nr{r|)rr|_finalizer_registryclear_run_after_forkersrs rrzBaseProcess._after_forkRs#  &&(!rr)r:
__module____qualname____doc__rrDrGrIrMrOrQr;rXrZpropertyr1setterr rdrhrkrjrKryrstaticmethodrr
rrrrGs4
""$T2&96$ 	$&"
[[11]]**''
^^@@""33C
	>	>'>.`""rrceZdZdZy)rfcVddlm}|tdtt	|ffS)Nr{)get_spawning_popenzJPickling an AuthenticationString object is disallowed for security reasons)r}r	TypeErrorrfbytes)rrs  r
__reduce__zAuthenticationString.__reduce__^s3/'2
$eDk^33rN)r:rrrr
rrrfrf]s4rrfc4eZdZdZdZedZddZeZy)rctd|_||_||_d|_d|_d|_||_i|_y)Nr
F)r+r<_pidr0rr3rLr,)rr1rjrKs    rrDz_ParentProcess.__init__ns;
	!rc:ddlm}||jgdS)NrrSrTmultiprocessing.connectionrSrL)rrSs  rrXz_ParentProcess.is_alivexs3(!444rc|jSr)rrs rrkz_ParentProcess.ident|syyrNc:ddlm}||jg|y)z6
        Wait until parent process terminates
        rrrNr)rrTrSs   rr;z_ParentProcess.joins	4dnn
w/rr)	r:rrrDrXrrkr;rjr
rrrrls,50CrrceZdZdZdZy)_MainProcesscd|_d|_d|_d|_d|_tt
jddd|_y)Nr
MainProcessF z/mp)rd	semprefix)	r+r<r0rr3rfr.urandomr,rs rrDz_MainProcess.__init__sB"
#7

2#G%*,rcyrr
rs rrZz_MainProcess.closesrN)r:rrrDrZr
rrrrs,$
rrr{SIG_r")$__all__r.rsignalrr_weakrefsetrpathabspathgetcwdORIGINAL_DIROSErrorrrrrobjectrrrfrrrr	rCr*rrrvr__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: