Your IP : 18.188.76.161
3
\�*�@s�ddlZddlZddlZddlmZddlmZgZGdd�de�ZGdd�de�Z Gd d
�d
e�Z
Gdd�de�ZGd
d�de�Z
Gdd�dej�ZGdd�de
�Zedd�ee�D��e_ejdk�rPGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�de
�ZGdd�de
�ZGd d!�d!e
�Ze�e�e�d"�Zeed#�Zn8Gd$d�dej�ZGd%d�de
�Zd&e�iZeed&�Zd'd(�Zej�Zd)d*�Zd+d,�Z d-d.�Z!dS)/�N�)�process)� reductionc@seZdZdS)�ProcessErrorN)�__name__�
__module__�__qualname__�r r �//usr/lib64/python3.6/multiprocessing/context.pyrsrc@seZdZdS)�BufferTooShortN)rrrr r r r
rsrc@seZdZdS)�TimeoutErrorN)rrrr r r r
rsrc@seZdZdS)�AuthenticationErrorN)rrrr r r r
r
sr
c@sVeZdZeZeZeZeZeej �Z eej
�Z
dd�Zdd�ZdBdd�Z
dd �Zd
d�ZdCd
d�ZdDdd�ZdEdd�Zdd�ZdFdd�ZdGdd�ZdHdd�Zdd�Zddfdfdd �Zd!d"�Zd#d$�Zdd%�d&d'�Zdd%�d(d)�Zd*d+�Zd,d-�ZdId.d/�Zd0d1�Z d2d3�Z!d4d5�Z"dJd6d7�Z#dKd9d:�Z$dLd;d<�Z%e&d=d>��Z'e'j(d?d>��Z'd@dA�Z)dS)M�BaseContextcCs"tj�}|dkrtd��n|SdS)Nzcannot determine number of cpus)�os� cpu_count�NotImplementedError)�selfZnumr r r
r(s
zBaseContext.cpu_countcCs&ddlm}||j�d�}|j�|S)Nr)�SyncManager)�ctx)Zmanagersr�get_context�start)rr�mr r r
�Manager0szBaseContext.ManagerTcCsddlm}||�S)Nr)�Pipe)�
connectionr)rZduplexrr r r
r;szBaseContext.PipecCsddlm}||j�d�S)Nr)�Lock)r)�synchronizerr)rrr r r
r@szBaseContext.LockcCsddlm}||j�d�S)Nr)�RLock)r)rrr)rrr r r
rEszBaseContext.RLockNcCsddlm}|||j�d�S)Nr)� Condition)r)rrr)r�lockrr r r
rJszBaseContext.ConditionrcCsddlm}|||j�d�S)Nr)� Semaphore)r)rr r)r�valuer r r r
r OszBaseContext.SemaphorecCsddlm}|||j�d�S)Nr)�BoundedSemaphore)r)rr"r)rr!r"r r r
r"TszBaseContext.BoundedSemaphorecCsddlm}||j�d�S)Nr)�Event)r)rr#r)rr#r r r
r#YszBaseContext.EventcCs ddlm}|||||j�d�S)Nr)�Barrier)r)rr$r)rZparties�actionZtimeoutr$r r r
r$^szBaseContext.BarrierrcCsddlm}|||j�d�S)Nr)�Queue)r)�queuesr&r)r�maxsizer&r r r
r&cszBaseContext.QueuecCsddlm}|||j�d�S)Nr)�
JoinableQueue)r)r'r)r)rr(r)r r r
r)hszBaseContext.JoinableQueuecCsddlm}||j�d�S)Nr)�SimpleQueue)r)r'r*r)rr*r r r
r*mszBaseContext.SimpleQueuecCs"ddlm}||||||j�d�S)Nr)�Pool)�context)Zpoolr+r)rZ processesZinitializerZinitargsZmaxtasksperchildr+r r r
r+rs
zBaseContext.PoolcGsddlm}||f|��S)Nr)�RawValue)�sharedctypesr-)r�typecode_or_type�argsr-r r r
r-yszBaseContext.RawValuecCsddlm}|||�S)Nr)�RawArray)r.r1)rr/�size_or_initializerr1r r r
r1~szBaseContext.RawArray)rcGs&ddlm}||f|�||j�d��S)Nr)�Value)rr)r.r3r)rr/rr0r3r r r
r3�szBaseContext.ValuecCs ddlm}|||||j�d�S)Nr)�Array)rr)r.r4r)rr/r2rr4r r r
r4�szBaseContext.ArraycCs,tjdkr(ttdd�r(ddlm}|�dS)N�win32�frozenFr)�freeze_support)�sys�platform�getattr�spawnr7)rr7r r r
r7�szBaseContext.freeze_supportcCsddlm}|�S)Nr)�
get_logger)�utilr<)rr<r r r
r<�szBaseContext.get_loggercCsddlm}||�S)Nr)�
log_to_stderr)r=r>)r�levelr>r r r
r>�szBaseContext.log_to_stderrcCsddlm}dS)Nr)r)�r)rrr r r
�allow_connection_pickling�sz%BaseContext.allow_connection_picklingcCsddlm}||�dS)Nr)�set_executable)r;rB)r�
executablerBr r r
rB�szBaseContext.set_executablecCsddlm}||�dS)Nr)�set_forkserver_preload)�
forkserverrD)rZmodule_namesrDr r r
rD�sz"BaseContext.set_forkserver_preloadcCsF|dkr|Syt|}Wn tk
r8td|��YnX|j�|S)Nzcannot find context for %r)�_concrete_contexts�KeyError�
ValueError�_check_available)r�methodrr r r
r�szBaseContext.get_contextFcCs|jS)N)�_name)r�
allow_noner r r
�get_start_method�szBaseContext.get_start_methodcCstd��dS)Nz+cannot set start method of concrete context)rH)rrJ�forcer r r
�set_start_method�szBaseContext.set_start_methodcCst�jd�S)Nr)�globals�get)rr r r
�reducer�szBaseContext.reducercCs|t�d<dS)Nr)rP)rrr r r
rR�scCsdS)Nr )rr r r
rI�szBaseContext._check_available)T)N)r)r)NN)r)r)N)N)F)F)*rrrrrrr
�staticmethodrZcurrent_processZactive_childrenrrrrrrr r"r#r$r&r)r*r+r-r1r3r4r7r<r>rArBrDrrMrO�propertyrR�setterrIr r r r
rsJ
rc@seZdZdZedd��ZdS)�ProcessNcCstj�jj|�S)N)�_default_contextrrV�_Popen)�process_objr r r
rX�szProcess._Popen)rrr�
_start_methodrSrXr r r r
rV�srVcsFeZdZeZdd�Zd
�fdd� Zddd�Zdd d
�Zdd�Z�Z S)�DefaultContextcCs||_d|_dS)N)rW�_actual_context)rr,r r r
�__init__�szDefaultContext.__init__Ncs0|dkr |jdkr|j|_|jSt�j|�SdS)N)r\rW�superr)rrJ)� __class__r r
r�s
zDefaultContext.get_contextFcCs>|jdk r|rtd��|dkr.|r.d|_dS|j|�|_dS)Nzcontext has already been set)r\�RuntimeErrorr)rrJrNr r r
rO�szDefaultContext.set_start_methodcCs"|jdkr|rdS|j|_|jjS)N)r\rWrK)rrLr r r
rM�s
zDefaultContext.get_start_methodcCs,tjdkrdgStjr dddgSddgSdS)Nr5r;�forkrE)r8r9r�HAVE_SEND_HANDLE)rr r r
�get_all_start_methods�s
z$DefaultContext.get_all_start_methods)N)F)F)
rrrrVr]rrOrMrc�
__classcell__r r )r_r
r[�s
r[ccs|]}|ddkr|VqdS)r�_Nr )�.0�xr r r
� <genexpr>srhr5c@seZdZdZedd��ZdS)�ForkProcessracCsddlm}||�S)Nr)�Popen)Z
popen_forkrj)rYrjr r r
rXszForkProcess._PopenN)rrrrZrSrXr r r r
risric@seZdZdZedd��ZdS)�SpawnProcessr;cCsddlm}||�S)Nr)rj)Zpopen_spawn_posixrj)rYrjr r r
rXszSpawnProcess._PopenN)rrrrZrSrXr r r r
rksrkc@seZdZdZedd��ZdS)�ForkServerProcessrEcCsddlm}||�S)Nr)rj)Zpopen_forkserverrj)rYrjr r r
rX szForkServerProcess._PopenN)rrrrZrSrXr r r r
rlsrlc@seZdZdZeZdS)�ForkContextraN)rrrrKrirVr r r r
rm%srmc@seZdZdZeZdS)�SpawnContextr;N)rrrrKrkrVr r r r
rn)srnc@seZdZdZeZdd�ZdS)�ForkServerContextrEcCstjstd��dS)Nz%forkserver start method not available)rrbrH)rr r r
rI0sz"ForkServerContext._check_availableN)rrrrKrlrVrIr r r r
ro-sro)rar;rErac@seZdZdZedd��ZdS)rkr;cCsddlm}||�S)Nr)rj)Zpopen_spawn_win32rj)rYrjr r r
rX?szSpawnProcess._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_methodQsrpcCsttdd�S)N�spawning_popen)r:�_tlsr r r r
�get_spawning_popenZsrscCs
|t_dS)N)rrrq)�popenr r r
�set_spawning_popen]srucCs t�dkrtdt|�j��dS)NzF%s objects should only be shared between processes through inheritance)rsr`�typer)�objr r r
�assert_spawning`s
rx)"rr8Z threadingr@rr�__all__� Exceptionrrrr
�objectrZBaseProcessrVr[�list�dirr9rirkrlrmrnrorFrWrpZlocalrrrsrurxr r r r
�<module>sD>'
?>