����JFIF���������
1#@!#!123s
D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
lib64
/
python3.6
/
multiprocessing
/
__pycache__
/
Filename :
context.cpython-36.pyc
back
Copy
3 � \�*������������������@���s���d�dl�Z�d�dlZd�dlZddlmZ�ddlmZ�g�ZG�dd��de�ZG�dd��de�Z G�d d ��d e�Z G�dd��de�ZG�d d��de�Z G�dd��dej�ZG�dd��de �Zedd��ee�D���e_ejdk�rPG�dd��dej�ZG�dd��dej�ZG�dd��dej�ZG�dd��de �ZG�dd��de �ZG�d d!��d!e �Ze��e��e��d"�Zeed#��Zn8G�d$d��dej�ZG�d%d��de �Zd&e��iZeed&��Zd'd(��Zej��Zd)d*��Zd+d,��Z d-d.��Z!dS�)/�����N����)�process)� reductionc���������������@���s���e�Zd�ZdS�)�ProcessErrorN)�__name__� __module__�__qualname__��r ���r ����//usr/lib64/python3.6/multiprocessing/context.pyr������s���r���c���������������@���s���e�Zd�ZdS�)�BufferTooShortN)r���r���r���r ���r ���r ���r ���r������s���r���c���������������@���s���e�Zd�ZdS�)�TimeoutErrorN)r���r���r���r ���r ���r ���r ���r������s���r���c���������������@���s���e�Zd�ZdS�)�AuthenticationErrorN)r���r���r���r ���r ���r ���r ���r ������s���r ���c���������������@���sV��e�Zd�ZeZeZeZeZeej �Z eej �Z dd��Zdd��ZdBdd�Z dd ��Zd d��ZdCd d�ZdDdd�ZdEdd�Zdd��ZdFdd�ZdGdd�ZdHdd�Zdd��Zddf�dfdd �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�BaseContextc�������������C���s"���t�j��}|dkrtd��n|S�dS�)z(Returns the number of CPUs in the systemNzcannot determine number of cpus)�os� cpu_count�NotImplementedError)�selfZnumr ���r ���r ���r���(���s���� zBaseContext.cpu_countc�������������C���s&���ddl�m}�||�j��d�}|j���|S�)z�Returns 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)Zmanagersr����get_context�start)r���r����mr ���r ���r ����Manager0���s����zBaseContext.ManagerTc�������������C���s���ddl�m}�||�S�)z1Returns two connection object connected by a piper���)�Pipe)� connectionr���)r���Zduplexr���r ���r ���r ���r���;���s����zBaseContext.Pipec�������������C���s���ddl�m}�||�j��d�S�)z#Returns a non-recursive lock objectr���)�Lock)r���)�synchronizer���r���)r���r���r ���r ���r ���r���@���s����zBaseContext.Lockc�������������C���s���ddl�m}�||�j��d�S�)zReturns a recursive lock objectr���)�RLock)r���)r���r���r���)r���r���r ���r ���r ���r���E���s����zBaseContext.RLockNc�������������C���s���ddl�m}�|||�j��d�S�)zReturns a condition objectr���)� Condition)r���)r���r���r���)r����lockr���r ���r ���r ���r���J���s����zBaseContext.Conditionr���c�������������C���s���ddl�m}�|||�j��d�S�)zReturns a semaphore objectr���)� Semaphore)r���)r���r ���r���)r����valuer ���r ���r ���r ���r ���O���s����zBaseContext.Semaphorec�������������C���s���ddl�m}�|||�j��d�S�)z"Returns a bounded semaphore objectr���)�BoundedSemaphore)r���)r���r"���r���)r���r!���r"���r ���r ���r ���r"���T���s����zBaseContext.BoundedSemaphorec�������������C���s���ddl�m}�||�j��d�S�)zReturns an event objectr���)�Event)r���)r���r#���r���)r���r#���r ���r ���r ���r#���Y���s����zBaseContext.Eventc�������������C���s ���ddl�m}�|||||�j��d�S�)zReturns a barrier objectr���)�Barrier)r���)r���r$���r���)r���Zparties�actionZtimeoutr$���r ���r ���r ���r$���^���s����zBaseContext.Barrierr���c�������������C���s���ddl�m}�|||�j��d�S�)zReturns a queue objectr���)�Queue)r���)�queuesr&���r���)r����maxsizer&���r ���r ���r ���r&���c���s����zBaseContext.Queuec�������������C���s���ddl�m}�|||�j��d�S�)zReturns a queue objectr���)� JoinableQueue)r���)r'���r)���r���)r���r(���r)���r ���r ���r ���r)���h���s����zBaseContext.JoinableQueuec�������������C���s���ddl�m}�||�j��d�S�)zReturns a queue objectr���)�SimpleQueue)r���)r'���r*���r���)r���r*���r ���r ���r ���r*���m���s����zBaseContext.SimpleQueuec�������������C���s"���ddl�m}�||||||�j��d�S�)zReturns a process pool objectr���)�Pool)�context)Zpoolr+���r���)r���Z processesZinitializerZinitargsZmaxtasksperchildr+���r ���r ���r ���r+���r���s���� zBaseContext.Poolc�������������G���s���ddl�m}�||f|���S�)zReturns a shared objectr���)�RawValue)�sharedctypesr-���)r����typecode_or_type�argsr-���r ���r ���r ���r-���y���s����zBaseContext.RawValuec�������������C���s���ddl�m}�|||�S�)zReturns a shared arrayr���)�RawArray)r.���r1���)r���r/����size_or_initializerr1���r ���r ���r ���r1���~���s����zBaseContext.RawArray)r���c������������G���s&���ddl�m}�||f|�||�j��d��S�)z$Returns a synchronized shared objectr���)�Value)r���r���)r.���r3���r���)r���r/���r���r0���r3���r ���r ���r ���r3�������s����zBaseContext.Valuec������������C���s ���ddl�m}�|||||�j��d�S�)z#Returns a synchronized shared arrayr���)�Array)r���r���)r.���r4���r���)r���r/���r2���r���r4���r ���r ���r ���r4�������s����zBaseContext.Arrayc�������������C���s,���t�jdkr(tt�dd�r(ddlm}�|���dS�)z�Check whether this is a fake forked process in a frozen executable. If so then run code specified by commandline and exit. �win32�frozenFr���)�freeze_supportN)�sys�platform�getattr�spawnr7���)r���r7���r ���r ���r ���r7�������s����zBaseContext.freeze_supportc�������������C���s���ddl�m}�|��S�)zZReturn package logger -- if it does not already exist then it is created. r���)� get_logger)�utilr<���)r���r<���r ���r ���r ���r<�������s����zBaseContext.get_loggerc�������������C���s���ddl�m}�||�S�)z8Turn on logging and add a handler which prints to stderrr���)� log_to_stderr)r=���r>���)r����levelr>���r ���r ���r ���r>�������s����zBaseContext.log_to_stderrc�������������C���s���ddl�m}�dS�)zVInstall support for sending connections and sockets between processes r���)r���N)��r���)r���r���r ���r ���r ����allow_connection_pickling����s����z%BaseContext.allow_connection_picklingc�������������C���s���ddl�m}�||��dS�)z�Sets 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���� executablerB���r ���r ���r ���rB�������s����zBaseContext.set_executablec�������������C���s���ddl�m}�||��dS�)zkSet list of module names to try to load in forkserver process. This is really just a hint. r���)�set_forkserver_preloadN)� forkserverrD���)r���Zmodule_namesrD���r ���r ���r ���rD�������s����z"BaseContext.set_forkserver_preloadc�������������C���sF���|d�kr|�S�yt�|�}W�n �tk r8���td|���Y�nX�|j���|S�)Nzcannot find context for %r)�_concrete_contexts�KeyError� ValueError�_check_available)r����methodr���r ���r ���r ���r�������s����zBaseContext.get_contextFc�������������C���s���|�j�S�)N)�_name)r���� allow_noner ���r ���r ����get_start_method����s����zBaseContext.get_start_methodc�������������C���s���t�d��d�S�)Nz+cannot set start method of concrete context)rH���)r���rJ����forcer ���r ���r ����set_start_method����s����zBaseContext.set_start_methodc�������������C���s���t���jd�S�)z_Controls how objects will be reduced to a form that can be shared with other processes.r���)�globals�get)r���r ���r ���r ����reducer����s����zBaseContext.reducerc�������������C���s���|t���d<�d�S�)Nr���)rP���)r���r���r ���r ���r ���rR�������s����c�������������C���s���d�S�)Nr ���)r���r ���r ���r ���rI�������s����zBaseContext._check_available)T)N)r���)r���)NN)r���)r���)N)N)F)F)*r���r���r���r���r���r���r ����staticmethodr���Zcurrent_processZactive_childrenr���r���r���r���r���r���r ���r"���r#���r$���r&���r)���r*���r+���r-���r1���r3���r4���r7���r<���r>���rA���rB���rD���r���rM���rO����propertyrR����setterrI���r ���r ���r ���r ���r������sJ��� r���c���������������@���s���e�Zd�ZdZedd���ZdS�)�ProcessNc�������������C���s���t�j��jj|��S�)N)�_default_contextr���rV����_Popen)�process_objr ���r ���r ���rX�������s����zProcess._Popen)r���r���r���� _start_methodrS���rX���r ���r ���r ���r ���rV�������s���rV���c�������������������sF���e�Zd�ZeZdd��Zd ��fdd� Zddd�Zdd d �Zdd��Z���Z S�)�DefaultContextc�������������C���s���||�_�d�|�_d�S�)N)rW����_actual_context)r���r,���r ���r ���r ����__init__����s����zDefaultContext.__init__Nc����������������s0���|d�kr |�j�d�kr|�j|�_�|�j�S�t��j|�S�d�S�)N)r\���rW����superr���)r���rJ���)� __class__r ���r ���r�������s ���� zDefaultContext.get_contextFc�������������C���s>���|�j�d�k r|�rtd��|d�kr.|r.d�|�_�d�S�|�j|�|�_�d�S�)Nzcontext has already been set)r\����RuntimeErrorr���)r���rJ���rN���r ���r ���r ���rO�������s����zDefaultContext.set_start_methodc�������������C���s"���|�j�d�kr|rd�S�|�j|�_�|�j�jS�)N)r\���rW���rK���)r���rL���r ���r ���r ���rM�������s ���� zDefaultContext.get_start_methodc�������������C���s,���t�jdkrdgS�tjr dddgS�ddgS�d�S�)Nr5���r;����forkrE���)r8���r9���r����HAVE_SEND_HANDLE)r���r ���r ���r ����get_all_start_methods����s ���� z$DefaultContext.get_all_start_methods)N)F)F) r���r���r���rV���r]���r���rO���rM���rc���� __classcell__r ���r ���)r_���r ���r[�������s��� r[���c�������������c���s���|�]}|d��dkr|V��qdS�)r����_Nr ���)�.0�xr ���r ���r ���� <genexpr>��s����rh���r5���c���������������@���s���e�Zd�ZdZedd���ZdS�)�ForkProcessra���c�������������C���s���ddl�m}�||��S�)Nr���)�Popen)Z popen_forkrj���)rY���rj���r ���r ���r ���rX�����s����zForkProcess._PopenN)r���r���r���rZ���rS���rX���r ���r ���r ���r ���ri�����s���ri���c���������������@���s���e�Zd�ZdZedd���ZdS�)�SpawnProcessr;���c�������������C���s���ddl�m}�||��S�)Nr���)rj���)Zpopen_spawn_posixrj���)rY���rj���r ���r ���r ���rX�����s����zSpawnProcess._PopenN)r���r���r���rZ���rS���rX���r ���r ���r ���r ���rk�����s���rk���c���������������@���s���e�Zd�ZdZedd���ZdS�)�ForkServerProcessrE���c�������������C���s���ddl�m}�||��S�)Nr���)rj���)Zpopen_forkserverrj���)rY���rj���r ���r ���r ���rX��� ��s����zForkServerProcess._PopenN)r���r���r���rZ���rS���rX���r ���r ���r ���r ���rl�����s���rl���c���������������@���s���e�Zd�ZdZeZdS�)�ForkContextra���N)r���r���r���rK���ri���rV���r ���r ���r ���r ���rm���%��s���rm���c���������������@���s���e�Zd�ZdZeZdS�)�SpawnContextr;���N)r���r���r���rK���rk���rV���r ���r ���r ���r ���rn���)��s���rn���c���������������@���s���e�Zd�ZdZeZdd��ZdS�)�ForkServerContextrE���c�������������C���s���t�jstd��d�S�)Nz%forkserver start method not available)r���rb���rH���)r���r ���r ���r ���rI���0��s����z"ForkServerContext._check_availableN)r���r���r���rK���rl���rV���rI���r ���r ���r ���r ���ro���-��s���ro���)ra���r;���rE���ra���c���������������@���s���e�Zd�ZdZedd���ZdS�)rk���r;���c�������������C���s���ddl�m}�||��S�)Nr���)rj���)Zpopen_spawn_win32rj���)rY���rj���r ���r ���r ���rX���?��s����zSpawnProcess._PopenN)r���r���r���rZ���rS���rX���r ���r ���r ���r ���rk���=��s���c���������������@���s���e�Zd�ZdZeZdS�)rn���r;���N)r���r���r���rK���rk���rV���r ���r ���r ���r ���rn���D��s���r;���c�������������C���s���t�|��t_d�S�)N)rF���rW���r\���)rJ���r ���r ���r ����_force_start_methodQ��s����rp���c���������������C���s���t�tdd��S�)N�spawning_popen)r:����_tlsr ���r ���r ���r ����get_spawning_popenZ��s����rs���c�������������C���s ���|�t�_d�S�)N)rr���rq���)�popenr ���r ���r ����set_spawning_popen]��s����ru���c�������������C���s ���t���d�krtdt|��j���d�S�)NzF%s objects should only be shared between processes through inheritance)rs���r`����typer���)�objr ���r ���r ����assert_spawning`��s���� rx���)"r���r8���Z threadingr@���r���r����__all__� Exceptionr���r���r���r ����objectr���ZBaseProcessrV���r[����list�dirr9���ri���rk���rl���rm���rn���ro���rF���rW���rp���Zlocalrr���rs���ru���rx���r ���r ���r ���r ����<module>���sD����>'