%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python2.7/multiprocessing/
Upload File :
Create Path :
Current File : //usr/local/lib/python2.7/multiprocessing/forking.pyo


Pac@sddlZddlZddlZddlZddlmZmZddddddgZd	Zdd
l	m
Z
de
fdYZdZej
eejed
Zej
eejeej
eejeyddlmZWnek
rn#XdZdZej
eeejdkrddlZejZejZej Z de!fdYZ"n}ddl#Z#ddl$Z$ddl%Z%ddlZddl&m'Z'm(Z(m)Z)ddlm*Z*ddl	m+Z+m,Z,ddZ.dZ/ejdko%e0ede1Z2ej3j4j5dZ6e'j7Ze'j8Z e6rsej9j:ej;da<n	ej3a<dZ=de1dZde!fdYZ"dZ>d Z?d!Z@d"ZAd#ZBd$ZCej
e(eCej
e)eCgZDd%ZEdS(&iN(tutiltprocesstPopentassert_spawningtexitt	duplicatetclosetForkingPicklercCs,tjs(tdt|jndS(NsF%s objects should only be shared between processes through inheritance(Rtthread_is_spawningtRuntimeErrorttypet__name__(tself((s3/usr/local/lib/python2.7/multiprocessing/forking.pyR0s(tPicklercBs&eZejjZedZRS(cs fd}||j|<dS(Ncs#|}|jd||dS(Ntobj(tsave_reduce(RRtrv(treduce(s3/usr/local/lib/python2.7/multiprocessing/forking.pyt
dispatcherAs(tdispatch(tclsR
RR((Rs3/usr/local/lib/python2.7/multiprocessing/forking.pytregister?s(Rt
__module__R
RtcopytclassmethodR(((s3/usr/local/lib/python2.7/multiprocessing/forking.pyR<scCsE|jdkr(t|j|jjffSt|j|jjffSdS(N(tim_selftNonetgetattrtim_classtim_funct	func_name(tm((s3/usr/local/lib/python2.7/multiprocessing/forking.pyt_reduce_methodFscCst|j|jffS(N(Rt__objclass__R(R((s3/usr/local/lib/python2.7/multiprocessing/forking.pyt_reduce_method_descriptorMs(tpartialcCs"t|j|j|jpiffS(N(t_rebuild_partialtfunctargstkeywords(tp((s3/usr/local/lib/python2.7/multiprocessing/forking.pyt_reduce_partial\scCst|||S(N(R#(R%R&R'((s3/usr/local/lib/python2.7/multiprocessing/forking.pyR$^stwin32cBsDeZdZejdZddZdZe	dZ
RS(cCstjjtjjd|_tj|_|jdkrdtj	kriddl
}|jn|j}tjjtjjtj
|ndS(Nitrandomi(tsyststdouttflushtstderrRt
returncodetostforktpidtmodulesR+tseedt
_bootstrapt_exit(Rtprocess_objR+tcode((s3/usr/local/lib/python2.7/multiprocessing/forking.pyt__init__ts

	


cCs|jdkrx\trmytj|j|\}}Wn/tjk
rh}|jtjkrdqndSXPqW||jkrtj	|rtj
||_qtj||_qn|jS(N(R0RtTrueR1twaitpidR3terrorterrnotEINTRtWIFSIGNALEDtWTERMSIGtWEXITSTATUS(RtflagR3tstste((s3/usr/local/lib/python2.7/multiprocessing/forking.pytpolls	cCs|dkr|jdStj|}d}xc|j}|dk	rNPn|tj}|dkrnPnt|d|d}tj|q2W|S(NigMb@?ig?(RRFttimetmintsleep(Rttimeouttdeadlinetdelaytrest	remaining((s3/usr/local/lib/python2.7/multiprocessing/forking.pytwaits
cCsd|jdkr`ytj|jtjWq`tk
r\}|jdddkr]q]q`XndS(NRJg?(	R0RR1tkillR3tsignaltSIGTERMtOSErrorRO(RRE((s3/usr/local/lib/python2.7/multiprocessing/forking.pyt	terminatescCstS(N(tFalse(((s3/usr/local/lib/python2.7/multiprocessing/forking.pyRsN(RRR:R1tWNOHANGRFRRORTtstaticmethodR(((s3/usr/local/lib/python2.7/multiprocessing/forking.pyRrs
		(R*t
ConnectiontPipeConnectioni(tFinalize(tloadtHIGHEST_PROTOCOLcCst||j|dS(N(Rtdump(Rtfiletprotocol((s3/usr/local/lib/python2.7/multiprocessing/forking.pyR]sitfrozenspythonservice.exes
python.execCs
|adS(N(t_python_exe(texe((s3/usr/local/lib/python2.7/multiprocessing/forking.pytset_executablescCsF|dkrtj}ntjtj||d|tjjS(Ni(Rt_subprocesstGetCurrentProcesstDuplicateHandletDUPLICATE_SAME_ACCESStDetach(thandlettarget_processtinheritable((s3/usr/local/lib/python2.7/multiprocessing/forking.pyRs
cBs_eZdZejZdZedZedZ	ddZdZdZ
RS(sH
        Start a subprocess to run the code of a process object
        c
Cs7tj\}}ttj|dt}tj|t|g}djd|D}t	j
t|ddddddd	\}}}}	|j
t|||_d|_||_t|j}
tj|d}t|tj_z$t|
|tt||tWdtj`|jXdS(NRkt css|]}d|VqdS(s"%s"N((t.0tx((s3/usr/local/lib/python2.7/multiprocessing/forking.pys	<genexpr>siitwb(R1tpipeRtmsvcrtt
get_osfhandleR;Rtget_command_linetjoinRdt
CreateProcessRaRtCloseR3R0t_handletget_preparation_datat_nametfdopentintRt_tlstprocess_handleR]R\(RR8trfdtwfdtrhandletcmdthpthtR3ttidt	prep_datatto_child((s3/usr/local/lib/python2.7/multiprocessing/forking.pyR:s(
-

				cCsttjdddk	S(NR}(RRR|R(((s3/usr/local/lib/python2.7/multiprocessing/forking.pyRscCst|tjjS(N(RRR|R}(Ri((s3/usr/local/lib/python2.7/multiprocessing/forking.pytduplicate_for_childscCs|jdkr|dkr'tj}ntdt|dd}tjt|j|}|tjkrtj	|j}|t
krtj}n||_qn|jS(Niig?(
R0RRdtINFINITEtmaxR{tWaitForSingleObjectRwt
WAIT_OBJECT_0tGetExitCodeProcesst	TERMINATERQRR(RRJtmsecsRMR9((s3/usr/local/lib/python2.7/multiprocessing/forking.pyRO"s
cCs|jddS(NRJi(RO(R((s3/usr/local/lib/python2.7/multiprocessing/forking.pyRF2scCse|jdkraytjt|jtWqatk
r]|jdddkr^q^qaXndS(NRJg?(	R0RRdtTerminateProcessR{RwRtWindowsErrorRO(R((s3/usr/local/lib/python2.7/multiprocessing/forking.pyRT5s
N(RRt__doc__tthreadt_localR|R:RWRRRRORFRT(((s3/usr/local/lib/python2.7/multiprocessing/forking.pyRs	!	cCs.t|dkr&|ddkr&tStSdS(sE
        Return whether commandline indicates we are forking
        iis--multiprocessing-forkN(tlenR;RU(targv((s3/usr/local/lib/python2.7/multiprocessing/forking.pyt
is_forkingAs"cCs'ttjr#ttjndS(sM
        Run code for process object if this in not the main process
        N(RR,RtmainR(((s3/usr/local/lib/python2.7/multiprocessing/forking.pytfreeze_supportLscCstttjdtr'tdnttdtrFtjdgSd}tj}t	g|d|dgSdS(sR
        Returns prefix of command line used for spawning a child process
        t_inheritings
            Attempt to start a new process before the current process
            has finished its bootstrapping phase.

            This probably means that you are on Windows and you have
            forgotten to use the proper idiom in the main module:

                if __name__ == '__main__':
                    freeze_support()
                    ...

            The "freeze_support()" line can be omitted if the program
            is not going to be frozen to produce a Windows executable.R`s--multiprocessing-forks0from multiprocessing.forking import main; main()s-cN(
RRtcurrent_processRUR	R,t
executableRt_args_from_interpreter_flagsRa(tprogtopts((s3/usr/local/lib/python2.7/multiprocessing/forking.pyRsUs
cCsttjd}tj|tj}tj|d}tt	j
_t|}t
|t|}tt	j
_|j|j}t|dS(s?
        Run code specified by data received over pipe
        itrbN(R{R,RRqtopen_osfhandleR1tO_RDONLYRzR;RRRR[tprepareRURR6R(Ritfdtfrom_parenttpreparation_dataRtexitcode((s3/usr/local/lib/python2.7/multiprocessing/forking.pyRps

c
CsLddlm}m}td|dtjdtjd|dtjdtj	j
}|dk	rt|j|d	<nt
rHtrH|dd
jjdrHttjdd
d}|rtjd
dkrtjd
}n|dk	rHtjj|r,tjdk	r,tjjtj|}ntjj||d<qHn|S(sU
        Return info about parent needed by child to unpickle process object
        i(t_loggert_log_to_stderrtnametsys_pathtsys_argvt
log_to_stderrtorig_dirtauthkeyt	log_levelispythonservice.exet__main__t__file__ts-ct	main_pathN(Rs-c(RRRtdictR,tpathRRtORIGINAL_DIRRRRtgetEffectiveLeveltWINEXEt
WINSERVICEtlowertendswithRR4R1tisabsRttnormpath(RRRtdR((s3/usr/local/lib/python2.7/multiprocessing/forking.pyRxs*			cCsVtjs(tdt|jnt|tj|j|j|jffS(NsLBy default %s objects can only be shared between processes
using inheritance(	RRR	R
RRtfilenotreadabletwritable(tconn((s3/usr/local/lib/python2.7/multiprocessing/forking.pytreduce_connectionsc
Cstjtjdd|kr6|dtj_nd|krX|dtj_nd|kr{|dr{tj	nd|krtj
j|dnd|kr|dt_nd|kr|dt_
nd|krtj|dnd	|kr|d	t_nd
|kr|d
}tjjtjj|d}|dkrztjjtjj|}n|dkrtjd}||_q|d
krddl}|dkrd}nTtjj|jdrtjjtjj|g}ntjj|g}|j||\}}}z|jd|||}Wd|rm|jnX|tjd<d|_xM|jjD]9}	y|	jdkrd|	_nWqtk
rqXqWqndS(sE
    Try to get current process ready to unpickle process object
    RRRRRRRtdirRRiR:tipythoniNs__init__.pyt__parents_main__( told_main_modulestappendR,R4RRRt_authkeyRRt
get_loggertsetLevelRRR1tchdirRtsplitexttbasenametdirnameRtimpRt
startswithtfind_moduletload_moduleRRt__dict__tvaluesRt	Exception(
tdataRt	main_nametmain_moduleRtdirsR^t	path_nametetcR((s3/usr/local/lib/python2.7/multiprocessing/forking.pyRs\

"!
	$
	
(FR1R,RQR>tmultiprocessingRRt__all__RtpickleR
RR RR
tsaveR"tlistRR{t__add__t	functoolsR#tImportErrorR)R$tplatformRGR7RtdupRRtobjectRRRqRdt_multiprocessingR*RXRYRZR[R\RR]RRRURRRRRtExitProcesstCloseHandleRRttexec_prefixRaRcRRRsRRxRRR(((s3/usr/local/lib/python2.7/multiprocessing/forking.pyt<module>#sn	
		
					G!				
N						#		

Zerion Mini Shell 1.0