MINI MINI MANI MO

Path : /usr/lib64/python3.6/multiprocessing/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/multiprocessing/__pycache__/context.cpython-36.opt-1.pyc

3


 \*@sddlZddlZddlZddlmZddlmZgZGdddeZGdddeZ	Gd	d
d
eZ
GdddeZGd
ddeZ
GdddejZGddde
ZeddeeDe_ejdkrPGdddejZGdddejZGdddejZGddde
ZGddde
ZGd d!d!e
Zeeed"Zeed#Zn8Gd$ddejZGd%dde
Zd&eiZeed&Zd'd(ZejZd)d*Zd+d,Z d-d.Z!dS)/N)process)	reductionc@seZdZdS)ProcessErrorN)__name__
__module____qualname__r	r	//usr/lib64/python3.6/multiprocessing/context.pyrsrc@seZdZdS)BufferTooShortN)rrrr	r	r	r
rsrc@seZdZdS)TimeoutErrorN)rrrr	r	r	r
rsrc@seZdZdS)AuthenticationErrorN)rrrr	r	r	r
r
sr
c@sVeZdZeZeZeZeZeej	Z	eej
Z
ddZddZdBddZ
dd	Zd
dZdCd
dZdDddZdEddZddZdFddZdGddZdHddZddZddfdfdd Zd!d"Zd#d$Zdd%d&d'Zdd%d(d)Zd*d+Zd,d-ZdId.d/Zd0d1Z d2d3Z!d4d5Z"dJd6d7Z#dKd9d:Z$dLd;d<Z%e&d=d>Z'e'j(d?d>Z'd@dAZ)dS)MBaseContextcCs"tj}|dkrtdn|SdS)z(Returns the number of CPUs in the systemNzcannot determine number of cpus)os	cpu_countNotImplementedError)selfZnumr	r	r
r(s
zBaseContext.cpu_countcCs&ddlm}||jd}|j|S)zReturns a manager associated with a running server process

        The managers methods such as `Lock()`, `Condition()` and `Queue()`
        can be used to create shared objects.
        r)SyncManager)ctx)Zmanagersrget_contextstart)rrmr	r	r
Manager0szBaseContext.ManagerTcCsddlm}||S)z1Returns two connection object connected by a piper)Pipe)
connectionr)rZduplexrr	r	r
r;szBaseContext.PipecCsddlm}||jdS)z#Returns a non-recursive lock objectr)Lock)r)synchronizerr)rrr	r	r
r@szBaseContext.LockcCsddlm}||jdS)zReturns a recursive lock objectr)RLock)r)rrr)rrr	r	r
rEszBaseContext.RLockNcCsddlm}|||jdS)zReturns a condition objectr)	Condition)r)rrr)rlockrr	r	r
rJszBaseContext.ConditionrcCsddlm}|||jdS)zReturns a semaphore objectr)	Semaphore)r)rr r)rvaluer r	r	r
r OszBaseContext.SemaphorecCsddlm}|||jdS)z"Returns a bounded semaphore objectr)BoundedSemaphore)r)rr"r)rr!r"r	r	r
r"TszBaseContext.BoundedSemaphorecCsddlm}||jdS)zReturns an event objectr)Event)r)rr#r)rr#r	r	r
r#YszBaseContext.EventcCs ddlm}|||||jdS)zReturns a barrier objectr)Barrier)r)rr$r)rZpartiesactionZtimeoutr$r	r	r
r$^szBaseContext.BarrierrcCsddlm}|||jdS)zReturns a queue objectr)Queue)r)queuesr&r)rmaxsizer&r	r	r
r&cszBaseContext.QueuecCsddlm}|||jdS)zReturns a queue objectr)
JoinableQueue)r)r'r)r)rr(r)r	r	r
r)hszBaseContext.JoinableQueuecCsddlm}||jdS)zReturns a queue objectr)SimpleQueue)r)r'r*r)rr*r	r	r
r*mszBaseContext.SimpleQueuecCs"ddlm}||||||jdS)zReturns a process pool objectr)Pool)context)Zpoolr+r)rZ	processesZinitializerZinitargsZmaxtasksperchildr+r	r	r
r+rs
zBaseContext.PoolcGsddlm}||f|S)zReturns a shared objectr)RawValue)sharedctypesr-)rtypecode_or_typeargsr-r	r	r
r-yszBaseContext.RawValuecCsddlm}|||S)zReturns a shared arrayr)RawArray)r.r1)rr/size_or_initializerr1r	r	r
r1~szBaseContext.RawArray)rcGs&ddlm}||f|||jdS)z$Returns a synchronized shared objectr)Value)rr)r.r3r)rr/rr0r3r	r	r
r3szBaseContext.ValuecCs ddlm}|||||jdS)z#Returns a synchronized shared arrayr)Array)rr)r.r4r)rr/r2rr4r	r	r
r4szBaseContext.ArraycCs,tjdkr(ttddr(ddlm}|dS)zCheck whether this is a fake forked process in a frozen executable.
        If so then run code specified by commandline and exit.
        win32frozenFr)freeze_supportN)sysplatformgetattrspawnr7)rr7r	r	r
r7szBaseContext.freeze_supportcCsddlm}|S)zZReturn package logger -- if it does not already exist then
        it is created.
        r)
get_logger)utilr<)rr<r	r	r
r<szBaseContext.get_loggercCsddlm}||S)z8Turn on logging and add a handler which prints to stderrr)
log_to_stderr)r=r>)rlevelr>r	r	r
r>szBaseContext.log_to_stderrcCsddlm}dS)zVInstall support for sending connections and sockets
        between processes
        r)rN)r)rrr	r	r
allow_connection_picklingsz%BaseContext.allow_connection_picklingcCsddlm}||dS)zSets the path to a python.exe or pythonw.exe binary used to run
        child processes instead of sys.executable when using the 'spawn'
        start method.  Useful for people embedding Python.
        r)set_executableN)r;rB)r
executablerBr	r	r
rBszBaseContext.set_executablecCsddlm}||dS)zkSet list of module names to try to load in forkserver process.
        This is really just a hint.
        r)set_forkserver_preloadN)
forkserverrD)rZmodule_namesrDr	r	r
rDsz"BaseContext.set_forkserver_preloadcCsF|dkr|Syt|}Wn tk
r8td|YnX|j|S)Nzcannot find context for %r)_concrete_contextsKeyError
ValueError_check_available)rmethodrr	r	r
rszBaseContext.get_contextFcCs|jS)N)_name)r
allow_noner	r	r
get_start_methodszBaseContext.get_start_methodcCstddS)Nz+cannot set start method of concrete context)rH)rrJforcer	r	r
set_start_methodszBaseContext.set_start_methodcCstjdS)z_Controls how objects will be reduced to a form that can be
        shared with other processes.r)globalsget)rr	r	r
reducerszBaseContext.reducercCs|td<dS)Nr)rP)rrr	r	r
rRscCsdS)Nr	)rr	r	r
rIszBaseContext._check_available)T)N)r)r)NN)r)r)N)N)F)F)*rrrrrrr
staticmethodrZcurrent_processZactive_childrenrrrrrrr r"r#r$r&r)r*r+r-r1r3r4r7r<r>rArBrDrrMrOpropertyrRsetterrIr	r	r	r
rsJ













rc@seZdZdZeddZdS)ProcessNcCstjjj|S)N)_default_contextrrV_Popen)process_objr	r	r
rXszProcess._Popen)rrr
_start_methodrSrXr	r	r	r
rVsrVcsFeZdZeZddZd
fdd	ZdddZdd	d
ZddZZ	S)DefaultContextcCs||_d|_dS)N)rW_actual_context)rr,r	r	r
__init__szDefaultContext.__init__Ncs0|dkr |jdkr|j|_|jStj|SdS)N)r\rWsuperr)rrJ)	__class__r	r
rs

zDefaultContext.get_contextFcCs>|jdk	r|rtd|dkr.|r.d|_dS|j||_dS)Nzcontext has already been set)r\RuntimeErrorr)rrJrNr	r	r
rOszDefaultContext.set_start_methodcCs"|jdkr|rdS|j|_|jjS)N)r\rWrK)rrLr	r	r
rMs

zDefaultContext.get_start_methodcCs,tjdkrdgStjr dddgSddgSdS)Nr5r;forkrE)r8r9rHAVE_SEND_HANDLE)rr	r	r
get_all_start_methodss


z$DefaultContext.get_all_start_methods)N)F)F)
rrrrVr]rrOrMrc
__classcell__r	r	)r_r
r[s

r[ccs|]}|ddkr|VqdS)r_Nr	).0xr	r	r
	<genexpr>srhr5c@seZdZdZeddZdS)ForkProcessracCsddlm}||S)Nr)Popen)Z
popen_forkrj)rYrjr	r	r
rXszForkProcess._PopenN)rrrrZrSrXr	r	r	r
risric@seZdZdZeddZdS)SpawnProcessr;cCsddlm}||S)Nr)rj)Zpopen_spawn_posixrj)rYrjr	r	r
rXszSpawnProcess._PopenN)rrrrZrSrXr	r	r	r
rksrkc@seZdZdZeddZdS)ForkServerProcessrEcCsddlm}||S)Nr)rj)Zpopen_forkserverrj)rYrjr	r	r
rX szForkServerProcess._PopenN)rrrrZrSrXr	r	r	r
rlsrlc@seZdZdZeZdS)ForkContextraN)rrrrKrirVr	r	r	r
rm%srmc@seZdZdZeZdS)SpawnContextr;N)rrrrKrkrVr	r	r	r
rn)srnc@seZdZdZeZddZdS)ForkServerContextrEcCstjstddS)Nz%forkserver start method not available)rrbrH)rr	r	r
rI0sz"ForkServerContext._check_availableN)rrrrKrlrVrIr	r	r	r
ro-sro)rar;rErac@seZdZdZeddZdS)rkr;cCsddlm}||S)Nr)rj)Zpopen_spawn_win32rj)rYrjr	r	r
rX?szSpawnProcess._PopenN)rrrrZrSrXr	r	r	r
rk=sc@seZdZdZeZdS)rnr;N)rrrrKrkrVr	r	r	r
rnDsr;cCst|t_dS)N)rFrWr\)rJr	r	r
_force_start_methodQsrpcCsttddS)Nspawning_popen)r:_tlsr	r	r	r
get_spawning_popenZsrscCs
|t_dS)N)rrrq)popenr	r	r
set_spawning_popen]srucCs tdkrtdt|jdS)NzF%s objects should only be shared between processes through inheritance)rsr`typer)objr	r	r
assert_spawning`s
rx)"rr8Z	threadingr@rr__all__	Exceptionrrrr
objectrZBaseProcessrVr[listdirr9rirkrlrmrnrorFrWrpZlocalrrrsrurxr	r	r	r
<module>sD>'



OHA YOOOO