Viewing File: /opt/alt/python35/lib64/python3.5/multiprocessing/__pycache__/util.cpython-35.opt-1.pyc



Yfy-@sTddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddddd	d
ddd
ddddddgZ
dZdZdZ
dZdZdZdZdadaddZddZddZddZdd	Zdd d
Zd!dZejZejZd"d#Zd$dZ iZ!ejZ"Gd%dde#Z$dd&d'Z%d(d
Z&da'eee%e	j(e	j)d)d*Z*ej+e*Gd+dde#Z,Gd,ddej-Z.yej/d-Z0Wne1k
r+d.Z0YnXd/dZ2d0d1Z3d2d3Z4dS)4N)_args_from_interpreter_flags)process	sub_debugdebuginfosub_warning
get_logger
log_to_stderrget_temp_dirregister_after_fork
is_exitingFinalizeForkAwareThreadLockForkAwareLocalclose_all_fds_exceptSUBDEBUG
SUBWARNING
Zmultiprocessingz+[%(levelname)s/%(processName)s] %(message)sFcGstrtjt||dS)N)_loggerlogr)msgargsr9/opt/alt/python35/lib64/python3.5/multiprocessing/util.pyr,scGstrtjt||dS)N)rrDEBUG)rrrrrr0scGstrtjt||dS)N)rrINFO)rrrrrr4scGstrtjt||dS)N)rrr)rrrrrr8sc
Csddl}|jzts|jtadt_ttdrctjt	tj
t	n2tjjt	fiftjj
t	fifWd|jXtS)z0
    Returns logger used by multiprocessing
    rN
unregister)loggingZ_acquireLockrZ	getLoggerLOGGER_NAMEZ	propagatehasattratexitr _exit_functionregisterZ
_exithandlersremoveappendZ_releaseLock)r!rrrr	<s
	
cCsgddl}t}|jt}|j}|j||j||r]|j|dat	S)zB
    Turn on logging and add a handler which prints to stderr
    rNT)
r!r	Z	FormatterDEFAULT_LOGGING_FORMATZ
StreamHandlerZsetFormatterZ
addHandlerZsetLevel_log_to_stderrr)levelr!ZloggerZ	formatterZhandlerrrrr
Ws	


cCstjjjd}|dkrddl}ddl}|jdd}td|td|j	d|gdd	|tjjd<|S)
Ntempdirrprefixzpymp-zcreated temp directory %srexitprioritydi)
rcurrent_processZ_configgetshutiltempfileZmkdtemprrZrmtree)r,r2r3rrrrms
cCsttj}|jx`|D]X\\}}}}y||Wq#tk
rz}ztd|WYdd}~Xq#Xq#WdS)Nz after forker raised exception %s)list_afterfork_registryitemssort	Exceptionr)r6indexZidentfuncobjerrr_run_after_forkerss
r=cCs#|tttt||f<dS)N)r5next_afterfork_counterid)r;r:rrrrsc@sjeZdZdZfddddZdeeejddZ	ddZ
d	d
ZddZdS)
rzA
    Class which supports object finalization using weakrefs
    NcCsz|dk	r$tj|||_n||_||_|p?i|_|ttf|_t	j
|_|t|j<dS)N)
weakrefref_weakref	_callback_args_kwargsr>_finalizer_counter_keyosgetpid_pid_finalizer_registry)selfr;callbackrkwargsr.rrr__init__s		zFinalize.__init__c
Csy||j=Wntk
r,|dYnX|j|krR|dd}n4|d|j|j|j|j|j|j}d|_|_|_|_|_|SdS)zQ
        Run the callback unless it has already been called or cancelled
        zfinalizer no longer registeredz+finalizer ignored because different processNz/finalizer calling %s with args %s and kwargs %s)rHKeyErrorrKrDrErFrC)rMwrrLrrJresrrr__call__s

	%zFinalize.__call__cCsLyt|j=Wntk
r"Yn&Xd|_|_|_|_|_dS)z3
        Cancel finalization of the object
        N)rLrHrQrCrDrErF)rMrrrcancels

zFinalize.cancelcCs
|jtkS)zS
        Return whether this finalizer is still waiting to invoke callback
        )rHrL)rMrrrstill_activeszFinalize.still_activecCsy|j}Wnttfk
r0d}YnX|dkrKd|jjSd|jjt|jd|jf}|jr|dt|j7}|j	r|dt|j	7}|j
ddk	r|dt|j
d7}|dS)	Nz<%s object, dead>z<%s object, callback=%s__name__z, args=z	, kwargs=rz, exitprority=>)rCAttributeError	TypeError	__class__rWgetattrrDrEstrrFrH)rMr;xrrr__repr__s 			zFinalize.__repr__)
rW
__module____qualname____doc__rPrLrrIrJrTrUrVr_rrrrrscstdkrdSdkr+ddnfddfddttD}|jddxl|D]d}tj|}|dk	rstd	|y|Wqstk
rd
dl}|jYqsXqsWdkrtjdS)z
    Run all finalizers whose exit priority is not None and at least minpriority

    Finalizers with highest priority are called first; finalizers with
    the same priority will be called in reverse order of creation.
    NcSs|ddk	S)Nrr)prrr<lambda>sz!_run_finalizers.<locals>.<lambda>cs|ddk	o|dkS)Nrr)rc)minpriorityrrrdscs"g|]}|r|qSrr).0key)frr
<listcomp>s	z#_run_finalizers.<locals>.<listcomp>reverseTz
calling %sr)	rLr4r7r1rr8	traceback	print_excclear)rekeysrgZ	finalizerrkr)rhrer_run_finalizerss$


rocCstptdkS)z6
    Returns true if the process is shutting down
    N)_exitingrrrrr
scCstsda|d|d|d|dk	rx7|D],}|jrC|d|j|jjqCWx+|D] }|d|j|jq}W|d|dS)NTzprocess shutting downz2running all "atexit" finalizers with priority >= 0rz!calling terminate() for daemon %szcalling join() for process %sz)running the remaining "atexit" finalizers)rpZdaemonnameZ_popenZ	terminatejoin)rrroactive_childrenr0rcrrrr%s	


	
r%c@s@eZdZddZddZddZddZd	S)
rcCs|jt|tjdS)N)_resetrr)rMrrrrPKs
zForkAwareThreadLock.__init__cCs1tj|_|jj|_|jj|_dS)N)	threadingZLock_lockacquirerelease)rMrrrrtOszForkAwareThreadLock._resetcCs
|jjS)N)rv	__enter__)rMrrrryTszForkAwareThreadLock.__enter__cGs|jj|S)N)rv__exit__)rMrrrrrzWszForkAwareThreadLock.__exit__N)rWr`rarPrtryrzrrrrrJsc@s(eZdZddZddZdS)rcCst|dddS)NcSs
|jjS)N)__dict__rm)r;rrrrd]sz)ForkAwareLocal.__init__.<locals>.<lambda>)r)rMrrrrP\szForkAwareLocal.__init__cCst|ffS)N)type)rMrrr
__reduce__^szForkAwareLocal.__reduce__N)rWr`rarPr}rrrrr[sSC_OPEN_MAXcCset|dtg}|jx>tt|dD]&}tj||d||dq7WdS)Nr)r4MAXFDr7rangelenrI
closerange)Zfdsirrrrjs
cCstjdkrdSytjjWnttfk
r>YnXyPtjtjtj}yt|ddt_Wntj|YnXWnttfk
rYnXdS)NclosefdF)	sysstdincloseOSError
ValueErrorrIopendevnullO_RDONLY)fdrrr_close_stdints
rcCsddl}tttt|}tj\}}zM|j|tj|gd|ddddddd	d
||dddSWdtj	|tj	|XdS)NrTrFrrrrrr)
_posixsubprocesstuplesortedmapintrIpipeZ	fork_execfsencoder)pathrZpassfdsrZerrpipe_readZ
errpipe_writerrrspawnv_passfdss
r)5rI	itertoolsrrAr$ru
subprocessrr__all__ZNOTSETrrrrr"r)rr*rrrrr	r
rWeakValueDictionaryr5countr?r=rrLrGobjectrror
rprsr0r%r&rZlocalrsysconfrr8rrrrrrr<module>
sd		S,	(




Back to Directory File Manager