python (3.12.0)

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

̑ef/bddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddl	mZddlm
Z
ddl	mZddl	mZddl	mZgd	Zd
Zej&dZGdd
eZddZdZdZdZeZej8Zej:Zej<Zej>Zy)N)
connection)process)	reduction)resource_tracker)spawn)util)ensure_runningget_inherited_fdsconnect_to_new_processset_forkserver_preloadqc6eZdZdZdZdZdZdZdZdZ	y)	
ForkServerc~d|_d|_d|_d|_t	j
|_dg|_y)N__main__)_forkserver_address_forkserver_alive_fd_forkserver_pid_inherited_fds	threadingLock_lock_preload_modulesselfs N/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/multiprocessing/forkserver.py__init__zForkServer.__init__"s:#' $(!#"^^%
!+cf|j5|jdddy#1swYyxYwN)r_stop_unlockedrs r_stopzForkServer._stop*s*
ZZ	"!	"	"	"s'0cB|jytj|jd|_tj|jdd|_tj|jstj|jd|_y)Nr)	roscloserwaitpidr	is_abstract_socket_namespacerunlinkrs rr#zForkServer._stop_unlocked/sw'	**+$(!


4''+#001I1IJIId../#' r cLtd|Dstd||_y)z>Set list of module names to try to load in forkserver process.c3>K|]}t|tuywr")typestr).0mods  r	<genexpr>z4ForkServer.set_forkserver_preload.<locals>.<genexpr>@s=49#=sz&module_names must be a list of stringsN)all	TypeErrorr)r
modules_namess  rr
z!ForkServer.set_forkserver_preload>s$=}==DEE -r c|jS)zReturn list of fds inherited from parent process.

        This returns None if the current process was not started by fork
        server.
        )rrs rrzForkServer.get_inherited_fdsDs"""r c|jt|dztk\rtdt	jtj
5}|j
|jtj\}}tj\}}|||jtjg}||z
}	tj||||ftj|tj|cdddS#tj|tj|xYw#tj|tj|wxYw#1swYyxYw)a;Request forkserver to create a child process.

        Returns a pair of fds (status_r, data_w).  The calling process can read
        the child process's pid and (eventually) its returncode from status_r.
        The calling process should write to data_w the pickled preparation and
        process data.
        ztoo many fdsN)r
lenMAXFDS_TO_SEND
ValueErrorsocketAF_UNIXconnectrr&piperrgetfdrsendfdsr')rfdsclientparent_rchild_wchild_rparent_wallfdss        rrz!ForkServer.connect_to_new_processLs$	
s8a<>)^,,
]]6>>
*	"fNN4334 "	Hg "	GXw(A(A&,,.0FcMF	
"!!&&1)!!!	"	"
""!!!	"	"s1A1E2D*E2-EE,E//E22E;c4|j5tj|jqt	j
|jtj\}}|s
	dddyt	j|jd|_	d|_d|_d}|jrBddh}tjd}|jDcic]
\}}||vs||}}}ni}tjtj5}t!j"d}	|j%|	t'j(|	st	j*|	d|j-t	j.\}
}	|j1|
g}||j1|
|j|fz}tj2}
|
gt'j4z}|d|gz
}t'j6|
||}	t	j|
|	|_	||_||_ddddddycc}}w#t	j|xYw#t	j|
wxYw#1swYMxYw#1swYyxYw)	zMake sure that a fork server is running.

        This can be called from any process.  Note that usually a child
        process will just reuse the forkserver started by its parent, so
        ensure_running() will do nothing.
        NzCfrom multiprocessing.forkserver import main; main(%d, %d, %r, **%r)	main_pathsys_pathignorer<iz-c)rrr
rr&r(WNOHANGr'rrrrget_preparation_dataitemsr;r<rarbitrary_addressbindr	r)chmodlistenr>filenoget_executable_args_from_interpreter_flagsspawnv_passfds)rpidstatuscmddesired_keysdataxylisteneraddressalive_ralive_wfds_to_passexeargss               rr
zForkServer.ensure_runningis:ZZ1	+++-##/ jj)=)=rzzJV1	+1	+223+/(,0)'+$,C$$ +Z811(;)-KAl9J1KKv~~.
+($66yA

g&88AHHWe,!$&779 &#+??#4g">KHOO-w8M8M ""C..0C54#D#D#FFDT3K'D--c4EC
HHW%+2(,3)'*$3
+11	+1	+(L,HHW%HHW%-
+
+11	+1	+siAJ+A.JI&I+)JA9JA=I
*J6JJ
I%%I((I??JJ	JJN)
__name__
__module____qualname__rr$r#r
rrr
r rrr s%-"

(.#":8+r rc

|r\d|vrE|Cdtj_	tj|tj`|D]}	t|tjtj\}}tj|dtj|dd}tj|tjtji}	|	j!D
cic]\}
}|
tj|
|}}
}tj"|i}
t%j$t$j&|5}t)j*5}|j-t._|j3|t(j4|j3|t(j4|j3|t(j4			|j7Dcgc]\}}|j8}}}|rn0||vr&tj:|ddk(sJd	t<||vrtj:|d
		tj>dtj@\}}|dk(rne|
jE|d}|8tjF|}	tI||tjL|ntOjPd
|z||vrK|jSd5}tUjV|tXdz}t[|tXkDr#t]dj_t[||^}}}|jMtj`}|dk(rld}	|jM|jM||||g}|jc|
jetg||||}tjt|nC	tI||||
|<tjL||D]}tjL|ddd\#tj`wxYw#t$rYwxYwcc}}
wcc}}w#tB$rYwxYw#tJ$rYwxYw#th$rFtkjltkjntjjpjsYwxYw#tjt|wxYw#tJ$rY
wxYw#1swYxYw#tv$r)}|jxtxjzk7rYd}~d}~wwxYw#1swYnxYwdddy#1swYyxYw)zRun forkserver.rNTFcyr"rh)_unuseds rsigchld_handlerzmain.<locals>.sigchld_handlersr )rSrr zNot at EOF?irz.forkserver: waitpid returned unexpected pid %dzToo many ({0:n}) fds to send)>rcurrent_process_inheritingrimport_main_path
__import__ImportErrorr	_close_stdinr&r>set_blockingsignalSIGCHLDSIGINTSIG_IGNrN
set_wakeup_fdr;r<	selectorsDefaultSelectorgetsockname_forkserverrregister
EVENT_READselectfileobjread
SystemExitr(rLChildProcessErrorpopwaitstatus_to_exitcodewrite_signedBrokenPipeErrorr'warningswarnacceptrrecvfdsr9r8RuntimeErrorformatforkextendvalues
_serve_one	Exceptionsys
excepthookexc_infostderrflush_exitOSErrorerrnoECONNABORTED)listener_fdr`preloadrIrJmodnamesig_rsig_wrlhandlerssigvalold_handlers	pid_to_fdr^selectorkeyeventsrfdsrWstsrD
returncodesrArEcode
unused_fdsfdes                              rmainrs Y%:48G##%1
:&&y1++-9	G
7#		779LE5OOE5!OOE5!
	

v~~	
H'/nn&68"csC008L8I	v~~k	:Yh		"	"	$Y(0*2*>*>*@'(I$8$89'9#7#78%!5!56P
=E__=NOMS&CKKODO
d?777A.#5D}D$$D=GGE5)"')zz"bjj'AHC!8!"+--T":".)+)B)B3)GJ% ,Wj AHHW-%MM+>@C+DE+0t#!*1-$-'//>A3EFs8n4". > E E$'H!.#//25.3	 ggi!8#$D/ ( 0 ( 0.5wu-M
 * 1 1)2B2B2D E'1'32<2>(@!#% ,Wc :.5IcNHHW-&)- "-G$-SQ++-9

&8(P  1"!"$3% $%@$-3 # ? #

 0 0 23!#
$3% $%=$-$-L
77e0001
oYYYYYs7QQ!<!Q1U/1A;U-T%Q7
AT%$'Q=/T%;R
AT%BTAR%T<T	6T>T%UQ!	Q.-Q.7T%=	R
T%	R

T%
	RT%RT%AS,	(S/+S,	,S//T	T		T	TT	TT"T%%	U.UUUUU#	U//U8cntjd|jD]\}}tj|||D]}tj||^t
_tj_	t
_
tj|}tj||}|S)Nrm)ruryrNr&r'r}rr_resource_tracker_fdrdupr_main)	rErArrrrrparent_sentinelrs	         rrr+s
NN$ S

c3 

%("[%''+ ffWoO;;w0DKr cd}tj}t||krCtj||t|z
}|std||z
}t||krCtj
|dS)Nr zunexpected EOFr)
SIGNED_STRUCTsizer8r&rEOFErrorunpack)rr[lengthrs    rread_signedrBsuD


F

d)f
GGBT*++,,		d)f

%a((r ctj|}|r/tj||}|dk(rt	d||d}|r.yy)Nrzshould not get here)rpackr&writer)rnmsgnbytess    rrrLsH


Q
C

"c"Q;455&'l	r )NN) rr&rzrur;structrrrrrcontextrrrr	__all__r9Structrobjectrrrrrr}r
rrr
rhr r<module>rs	



%

c"
A+A+NAH.)l++11$;;$;;r