Your IP : 18.219.12.88


Current Path : /usr/lib64/python2.7/multiprocessing/
Upload File :
Current File : //usr/lib64/python2.7/multiprocessing/process.pyo

�
{fc@s2dddgZddlZddlZddlZddlZyejjej��ZWne	k
rtdZnXd�Zd�Zd�Z
defd��YZd	efd
��YZdefd��YZe�a[iZxGejj�D]6\ZZed
 dkr�dekr�eee<q�q�WdS(tProcesstcurrent_processtactive_childreni����NcCstS(s@
    Return process object representing the current process
    (t_current_process(((s//usr/lib64/python2.7/multiprocessing/process.pyR;scCst�ttj�S(sN
    Return list of process objects corresponding to live child processes
    (t_cleanuptlistRt	_children(((s//usr/lib64/python2.7/multiprocessing/process.pyRAscCsFx?ttj�D].}|jj�dk	rtjj|�qqWdS(N(RRRt_popentpolltNonetdiscard(tp((s//usr/lib64/python2.7/multiprocessing/process.pyRLscBs�eZdZdZddddid�Zd�Zd�Zd�Zdd�Z	d�Z
ed��Zej
d��Zed	��Zej
d
��Zed��Zej
d��Zed
��Zed��ZeZd�Zd�ZRS(s�
    Process objects represent activity that is run in a separate process

    The class is analagous to `threading.Thread`
    cCs�tjj�}tj|f|_tj|_tj|_tj|_tj�|_	d|_||_t
|�|_t|�|_|p�t|�jddjd�|jD��|_dS(Nt-t:css|]}t|�VqdS(N(tstr(t.0ti((s//usr/lib64/python2.7/multiprocessing/process.pys	<genexpr>ks(Rt_countertnextt	_identityt_authkeyt	_daemonict_tempdirtostgetpidt_parent_pidR	Rt_targetttuplet_argstdictt_kwargsttypet__name__tjoint_name(tselftgroupttargettnametargstkwargstcount((s//usr/lib64/python2.7/multiprocessing/process.pyt__init__^s		cCs&|jr"|j|j|j�ndS(sQ
        Method to be run in sub-process; can be overridden in sub-class
        N(RRR(R#((s//usr/lib64/python2.7/multiprocessing/process.pytrunms	cCsgt�|jdk	r"|j}nddlm}||�|_|`|`|`t	j
j|�dS(s%
        Start child process
        i(tPopenN(Rt_PopenR	tforkingR,RRRRRRtadd(R#R,((s//usr/lib64/python2.7/multiprocessing/process.pytstartts	cCs|jj�dS(sT
        Terminate process; sends SIGTERM signal or uses TerminateProcess()
        N(Rt	terminate(R#((s//usr/lib64/python2.7/multiprocessing/process.pyR1�scCs5|jj|�}|dk	r1tjj|�ndS(s5
        Wait until child process terminates
        N(RtwaitR	RRR
(R#ttimeouttres((s//usr/lib64/python2.7/multiprocessing/process.pyR!�scCsZ|tkrtS|jdkr#tS|jj�}|dkrBtStjj|�tSdS(s1
        Return whether process is alive
        N(RtTrueRR	tFalseRRR
(R#t
returncode((s//usr/lib64/python2.7/multiprocessing/process.pytis_alive�scCs|jS(N(R"(R#((s//usr/lib64/python2.7/multiprocessing/process.pyR&�scCs
||_dS(N(R"(R#R&((s//usr/lib64/python2.7/multiprocessing/process.pyR&�scCs|jS(s4
        Return whether process is a daemon
        (R(R#((s//usr/lib64/python2.7/multiprocessing/process.pytdaemon�scCs
||_dS(s1
        Set whether process is a daemon
        N(R(R#tdaemonic((s//usr/lib64/python2.7/multiprocessing/process.pyR9�scCs|jS(N(R(R#((s//usr/lib64/python2.7/multiprocessing/process.pytauthkey�scCst|�|_dS(s2
        Set authorization key of process
        N(tAuthenticationStringR(R#R;((s//usr/lib64/python2.7/multiprocessing/process.pyR;�scCs#|jdkr|jS|jj�S(sM
        Return exit code of process or `None` if it has yet to stop
        N(RR	R(R#((s//usr/lib64/python2.7/multiprocessing/process.pytexitcode�scCs-|tkrtj�S|jo(|jjSdS(sU
        Return identifier (PID) of process or `None` if it has yet to start
        N(RRRRtpid(R#((s//usr/lib64/python2.7/multiprocessing/process.pytident�s
cCs�|tkrd}n]|jtj�kr3d}n?|jdkrKd}n'|jj�dk	rl|j}nd}t|�t	t
fkr�|dkr�d}q�dtj||�}ndt|�j
|j||jr�dp�d	fS(
Ntstartedtunknowntinitialitstoppedsstopped[%s]s<%s(%s, %s%s)>s daemont(RRRRRR	RR=Rtinttlongt_exitcode_to_nametgetR R"R(R#tstatus((s//usr/lib64/python2.7/multiprocessing/process.pyt__repr__�s				cCs�ddlm}y�t�|_tjd�|_y#tjj	�t
tj�t_Wnt
tfk
rmnX|a|jj�|j�|jd�z|j�d}Wd|j�XWn�tk
rH}|js�d}q�t|jdttf�rt|jd�}q�tjjt|jd�d�tjj�d}nGd}ddl}tjjd|j �tjj�|j!�nX|jd|�|S(	Ni(tutils child process calling self.run()is
i����sProcess %s:
s process exiting with exitcode %d("RDRKtsetRt	itertoolsR)RtsyststdintclosetopenRtdevnulltOSErrort
ValueErrorRt_finalizer_registrytcleart_run_after_forkerstinfoR+t_exit_functiont
SystemExitR't
isinstanceRERFtstderrtwriteRtflusht	tracebackR&t	print_exc(R#RKR=teR_((s//usr/lib64/python2.7/multiprocessing/process.pyt
_bootstrap�sB





		!
	
N((R t
__module__t__doc__R	R-R*R+R0R1R!R8tpropertyR&tsetterR9R;R=R?R>RJRb(((s//usr/lib64/python2.7/multiprocessing/process.pyRVs&			
		
	R<cBseZd�ZRS(cCs>ddlm}|j�s+td��ntt|�ffS(Ni(R,sJPickling an AuthenticationString object is disallowed for security reasons(R.R,tthread_is_spawningt	TypeErrorR<tbytes(R#R,((s//usr/lib64/python2.7/multiprocessing/process.pyt
__reduce__'s
(R RcRj(((s//usr/lib64/python2.7/multiprocessing/process.pyR<&st_MainProcesscBseZd�ZRS(cCspd|_t|_d|_d|_d|_tjd�|_	t
�|_tt
jd��|_d|_dS(NtMainProcessii ((RR6RR"R	RRRMR)RRLRR<RturandomRR(R#((s//usr/lib64/python2.7/multiprocessing/process.pyR*6s					(R RcR*(((s//usr/lib64/python2.7/multiprocessing/process.pyRk4sitSIGt_(t__all__RRNtsignalRMtpathtabspathtgetcwdtORIGINAL_DIRRSR	RRRtobjectRRiR<RkRRGt__dict__titemsR&tsignum(((s//usr/lib64/python2.7/multiprocessing/process.pyt<module>#s(

			
�
	

?>