����JFIF���������
1#@!#!123s
D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
lib64
/
python3.6
/
multiprocessing
/
__pycache__
/
Filename :
synchronize.cpython-36.opt-1.pyc
back
Copy
3 � \/������������������@���s,��d�dddddgZ�ddlZddlZddlZddlZddlZdd lmZ�dd lmZ�ddlm Z �yddlm Z mZ�W�n�ek r����ed��Y�nX�e ed��\ZZej jZG�dd��de�Z G�dd��de �ZG�dd��de�ZG�dd���d�e �ZG�dd��de �ZG�dd��de�ZG�dd��de�ZG�dd��dej�ZdS�)�Lock�RLock� Semaphore�BoundedSemaphore� Condition�Event�����N����)�context)�process)�util)�SemLock� sem_unlinkz*This platform lacks a functioning sem_openz( implementation, therefore, the requiredz+ synchronization primitives needed will notz function, see issue 3770.����c���������������@���s\���e�Zd�Zej��Zdd��Zedd���Zdd��Z dd��Z d d ��Zdd��Zd d��Z edd���ZdS�)r���c��������� ���C���s����|d�krt�jj��}|j��}tjdkp*|dk}xPtd�D�]<}y tj||||�j ��|��}|�_ W�n�tk rn���Y�q6X�P�q6W�td��tj d|j���|�j���tjdkr�dd��} tj|�| ��|�j jd�k r�dd lm} �| |�j j��tj|�tj|�j jfd d��d�S�)N�win32�fork�d���zcannot find name for semaphorezcreated semlock with handle %sc�������������S���s���|�j�j���d�S�)N)�_semlock�_after_fork)�obj��r����3/usr/lib64/python3.6/multiprocessing/synchronize.pyr���G���s����z%SemLock.__init__.<locals>._after_forkr���)�registerr���)Zexitpriority)r ���Z_default_contextZget_contextZget_start_method�sys�platform�range�_multiprocessingr���� _make_namer����FileExistsErrorr����debug�handle� _make_methodsZregister_after_fork�name�semaphore_trackerr���ZFinalize�_cleanup)�self�kind�value�maxvalue�ctxr!���Z unlink_now�i�slr���r���r���r���r����__init__2���s.���� zSemLock.__init__c�������������C���s ���ddl�m}�t|���||���d�S�)Nr���)� unregister)r"���r,���r ���)r!���r,���r���r���r���r#���T���s����zSemLock._cleanupc�������������C���s���|�j�j|�_|�j�j|�_d�S�)N)r����acquire�release)r$���r���r���r���r ���Z���s���� zSemLock._make_methodsc�������������C���s ���|�j�j��S�)N)r���� __enter__)r$���r���r���r���r/���^���s����zSemLock.__enter__c�������������G���s���|�j�j|��S�)N)r����__exit__)r$����argsr���r���r���r0���a���s����zSemLock.__exit__c�������������C���sD���t�j|���|�j}tjdkr,t�j��j|j�}n|j}||j|j |j fS�)Nr���)r ����assert_spawningr���r���r���Zget_spawning_popenZduplicate_for_childr���r%���r'���r!���)r$���r*����hr���r���r����__getstate__d���s���� zSemLock.__getstate__c�������������C���s,���t�jj|��|�_tjd|d����|�j���d�S�)Nz recreated blocker with handle %rr���)r���r���Z_rebuildr���r���r���r ���)r$����stater���r���r����__setstate__m���s����zSemLock.__setstate__c���������������C���s���dt�j��jd�ttj�f�S�)Nz%s-%sZ semprefix)r ����current_processZ_config�nextr����_randr���r���r���r���r���r���s����zSemLock._make_nameN)�__name__� __module__�__qualname__�tempfileZ_RandomNameSequencer9���r+����staticmethodr#���r ���r/���r0���r4���r6���r���r���r���r���r���r���.���s���" r���c���������������@���s&���e�Zd�Zd dd�Zdd��Zdd��ZdS�) r���r���c������������C���s���t�j|�t|t|d��d�S�)N)r(���)r���r+���� SEMAPHORE� SEM_VALUE_MAX)r$���r&���r(���r���r���r���r+���}���s����zSemaphore.__init__c�������������C���s ���|�j�j��S�)N)r���� _get_value)r$���r���r���r���� get_value����s����zSemaphore.get_valuec�������������C���s8���y|�j�j��}W�n�tk r&���d}Y�nX�d|�jj|f�S�)N�unknownz<%s(value=%s)>)r���rA���� Exception� __class__r:���)r$���r&���r���r���r����__repr__����s ���� zSemaphore.__repr__N)r���)r:���r;���r<���r+���rB���rF���r���r���r���r���r���{���s��� c���������������@���s���e�Zd�Zddd�Zdd��ZdS�)r���r���c������������C���s���t�j|�t|||d��d�S�)N)r(���)r���r+���r?���)r$���r&���r(���r���r���r���r+�������s����zBoundedSemaphore.__init__c�������������C���s>���y|�j�j��}W�n�tk r&���d}Y�nX�d|�jj||�j�jf�S�)NrC���z<%s(value=%s, maxvalue=%s)>)r���rA���rD���rE���r:���r'���)r$���r&���r���r���r���rF�������s���� zBoundedSemaphore.__repr__N)r���)r:���r;���r<���r+���rF���r���r���r���r���r�������s��� c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)r���c������������C���s���t�j|�tdd|d��d�S�)Nr���)r(���)r���r+���r?���)r$���r(���r���r���r���r+�������s����z Lock.__init__c�������������C���s����yf|�j�j��r8tj��j}tj��jdkrd|dtj��j�7�}n,|�j�j��dkrLd}n|�j�j��dkr`d}nd}W�n�t k r~���d}Y�nX�d |�j j|f�S�) N� MainThread�|r����Noner����SomeOtherThread�SomeOtherProcessrC���z<%s(owner=%s)>)r����_is_miner ���r7���r!���� threading�current_threadrA����_countrD���rE���r:���)r$���r!���r���r���r���rF�������s���� z Lock.__repr__N)r:���r;���r<���r+���rF���r���r���r���r���r�������s���c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)r���c������������C���s���t�j|�tdd|d��d�S�)Nr���)r(���)r���r+����RECURSIVE_MUTEX)r$���r(���r���r���r���r+�������s����zRLock.__init__c�������������C���s����y||�j�j��rBtj��j}tj��jdkr6|dtj��j�7�}|�j�j��}n8|�j�j��dkrZd\}}n |�j�j��dkrrd\}}nd \}}W�n�t k r����d\}}Y�nX�d |�j j||f�S�)NrG���rH���r���rI���r���rJ����nonzerorK���rC���z<%s(%s, %s)>)rI���r���)rJ���rQ���)rK���rQ���)rC���rC���)r���rL���r ���r7���r!���rM���rN���rO���rA���rD���rE���r:���)r$���r!����countr���r���r���rF�������s���� zRLock.__repr__N)r:���r;���r<���r+���rF���r���r���r���r���r�������s���c���������������@���sj���e�Zd�Zddd�Zdd��Zdd��Zdd ��Zd d��Zdd ��Zdd��Z ddd�Z dd��Zdd��Zddd�Z dS�)r���Nc������������C���s>���|p |j���|�_|jd�|�_|jd�|�_|jd�|�_|�j���d�S�)Nr���)r����_lockr����_sleeping_count�_woken_count�_wait_semaphorer ���)r$����lockr(���r���r���r���r+�������s ����zCondition.__init__c�������������C���s���t�j|���|�j|�j|�j|�jfS�)N)r ���r2���rS���rT���rU���rV���)r$���r���r���r���r4�������s���� zCondition.__getstate__c�������������C���s ���|\|�_�|�_|�_|�_|�j���d�S�)N)rS���rT���rU���rV���r ���)r$���r5���r���r���r���r6�������s����zCondition.__setstate__c�������������C���s ���|�j�j��S�)N)rS���r/���)r$���r���r���r���r/�������s����zCondition.__enter__c�������������G���s���|�j�j|��S�)N)rS���r0���)r$���r1���r���r���r���r0�������s����zCondition.__exit__c�������������C���s���|�j�j|�_|�j�j|�_d�S�)N)rS���r-���r.���)r$���r���r���r���r �������s���� zCondition._make_methodsc�������������C���sJ���y|�j�jj��|�jjj���}W�n�tk r4���d}Y�nX�d|�jj|�j|f�S�)NrC���z<%s(%s, %s)>)rT���r���rA���rU���rD���rE���r:���rS���)r$���Znum_waitersr���r���r���rF�������s���� zCondition.__repr__c�������������C���sn���|�j�j���|�jjj��}xt|�D�]}|�jj���q W�z|�jjd|�S�|�jj���xt|�D�]}|�jj���qVW�X�d�S�)NT) rT���r.���rS���r���rO���r���rV���r-���rU���)r$����timeoutrR���r)���r���r���r����wait����s���� zCondition.waitc�������������C���sN���x|�j�jd�r|�jjd�}qW�|�jjd�rJ|�jj���|�j�j���|�jjd��d�S�)NF)rU���r-���rT���rV���r.���)r$����resr���r���r����notify��s���� zCondition.notifyc�������������C���s|���x|�j�jd�r|�jjd�}qW�d}x"|�jjd�rD|�jj���|d7�}q$W�|rxxt|�D�]}|�j�j���qTW�x|�jjd�rvqhW�d�S�)NFr���r���)rU���r-���rT���rV���r.���r���)r$���rZ���Zsleepersr)���r���r���r���� notify_all��s���� zCondition.notify_allc�������������C���sh���|��}|r|S�|d�k r$t�j��|�}nd�}d�}x6|sb|d�k rP|t�j���}|dkrPP�|�j|��|��}q.W�|S�)Nr���)�timeZ monotonicrY���)r$���Z predicaterX����resultZendtimeZwaittimer���r���r����wait_for6��s���� zCondition.wait_for)N)N)N)r:���r;���r<���r+���r4���r6���r/���r0���r ���rF���rY���r[���r\���r_���r���r���r���r���r�������s��� c���������������@���s6���e�Zd�Zdd��Zdd��Zdd��Zdd��Zdd d�Zd S�) r���c������������C���s ���|j�|j���|�_|jd�|�_d�S�)Nr���)r���r����_condr����_flag)r$���r(���r���r���r���r+���N��s����zEvent.__init__c���������� ���C���s0���|�j�� �|�jjd�r"|�jj���dS�dS�Q�R�X�d�S�)NFT)r`���ra���r-���r.���)r$���r���r���r����is_setR��s ���� zEvent.is_setc���������� ���C���s6���|�j��&�|�jjd��|�jj���|�j�j���W�d�Q�R�X�d�S�)NF)r`���ra���r-���r.���r\���)r$���r���r���r����setY��s���� z Event.setc���������� ���C���s"���|�j���|�jjd��W�d�Q�R�X�d�S�)NF)r`���ra���r-���)r$���r���r���r����clear_��s����zEvent.clearNc���������� ���C���sT���|�j��D�|�jjd�r |�jj���n|�j�j|��|�jjd�rF|�jj���dS�dS�Q�R�X�d�S�)NFT)r`���ra���r-���r.���rY���)r$���rX���r���r���r���rY���c��s���� z Event.wait)N)r:���r;���r<���r+���rb���rc���rd���rY���r���r���r���r���r���L��s ���c���������������@���sZ���e�Zd�Zddd�Zdd��Zdd��Zedd ���Zejd d ���Zedd���Z e jd d���Z dS�)�BarrierNc������ ������C���sR���dd�l�}ddlm}�||jd�d��}|j��}|�j|||||f��d|�_d|�_d�S�)Nr���r���)� BufferWrapperr)���r���)�struct�heaprf���Zcalcsizer���r6����_staterO���) r$���Zparties�actionrX���r(���rg���rf����wrapperZcondr���r���r���r+���u��s����zBarrier.__init__c�������������C���s.���|\|�_�|�_|�_|�_|�_|�jj��jd�|�_d�S�)Nr)���)�_parties�_action�_timeoutr`����_wrapperZcreate_memoryview�cast�_array)r$���r5���r���r���r���r6���~��s����zBarrier.__setstate__c�������������C���s���|�j�|�j|�j|�j|�jfS�)N)rl���rm���rn���r`���ro���)r$���r���r���r���r4������s����zBarrier.__getstate__c�������������C���s ���|�j�d�S�)Nr���)rq���)r$���r���r���r���ri������s����zBarrier._statec�������������C���s���||�j�d<�d�S�)Nr���)rq���)r$���r&���r���r���r���ri������s����c�������������C���s ���|�j�d�S�)Nr���)rq���)r$���r���r���r���rO������s����zBarrier._countc�������������C���s���||�j�d<�d�S�)Nr���)rq���)r$���r&���r���r���r���rO������s����)NN) r:���r;���r<���r+���r6���r4����propertyri����setterrO���r���r���r���r���re���s��s��� re���zRThis platform lacks a functioning sem_open implementation, therefore, the requiredz}This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will notz�This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.)�__all__rM���r���r=���r���r]�����r ���r ���r���r���r ����ImportError�listr���rP���r?���r@����objectr���r���r���r���r���r���re���r���r���r���r����<module>���s0����Mz'