Edit File: managers.cpython-36.opt-1.pyc
3 � \�������������������@���s���d�dddgZ�ddlZddlZddlZddlZddlZddlmZ�ddlm Z �dd l mZmZ�dd lm Z �ddlmZ�ddlmZ�dd lmZ�dd��Zejeje��dd��d�D��Zed�ek r�dd��ZxeD�]Zejee��q�W�G�dd��de�Zf�i�fdd�Zdd��ZG�dd��de�Zdd��Zd d!��ZG�d"d#��d#e�ZG�d$d%��d%e�Z e j!e j"fe j#e j$fd&�Z%G�d'd���d�e�Z&G�d(d)��d)e'�Z(G�d*d��de�Z)d+d,��Z*i�fd-d.�Z+d�d0d1�Z,G�d2d3��d3e�Z-G�d4d5��d5e�Z.d�d6d7�Z/G�d8d9��d9e)�Z0G�d:d;��d;e)�Z1G�d<d=��d=e1�Z2G�d>d?��d?e)�Z3G�d@dA��dAe)�Z4G�dBdC��dCe)�Z5G�dDdE��dEe)�Z6e+dFd��Z7G�dZd[��d[e7�Z8e+d\d��Z9d]deie9_:e+dfd��Z;e+dgd��Z<dsdsdsdededt�e<_:G�dudg��dge<�Z=G�dvd��de&�Z>e>jdwej?��e>jdxej?��e>jdyej@e3��e>jdzejAe1��e>jd{ejBe1��e>jd|ejCe1��e>jd}ejDe1��e>jd~ejEe2��e>jdejFe4��e>jd�e jGe=��e>jd�ee8��e>jd�eHe9��e>jd5e.e6��e>jd7e/e;��e>jd3e-e5��e>jdee0d�d���e>jdsd�d���dS�)��BaseManager�SyncManager� BaseProxy�Token�����N)� format_exc����)� connection)� reduction�get_spawning_popen)�pool)�process)�util)�get_contextc�������������C���s���t�j�|�j|�j��ffS�)N)�array�typecode�tobytes)�a��r����0/usr/lib64/python3.6/multiprocessing/managers.py�reduce_array$���s����r���c�������������C���s���g�|�]}t�ti�|�����qS�r���)�type�getattr)�.0�namer���r���r���� <listcomp>(���s����r����items�keys�valuesc�������������C���s���t�t�|��ffS�)N)�list)�objr���r���r����rebuild_as_list*���s����r ���c���������������@���s4���e�Zd�ZdZdZdd��Zdd��Zd d ��Zdd��Zd S�)r���z4 Type to uniquely indentify a shared object �typeid�address�idc�������������C���s���|||��|�_�|�_|�_d�S�)N)r!���r"���r#���)�selfr!���r"���r#���r���r���r����__init__9���s����zToken.__init__c�������������C���s���|�j�|�j|�jfS�)N)r!���r"���r#���)r$���r���r���r����__getstate__<���s����zToken.__getstate__c�������������C���s���|\|�_�|�_|�_d�S�)N)r!���r"���r#���)r$����stater���r���r����__setstate__?���s����zToken.__setstate__c�������������C���s���d|�j�j|�j|�j|�jf�S�)Nz %s(typeid=%r, address=%r, id=%r))� __class__�__name__r!���r"���r#���)r$���r���r���r����__repr__B���s����zToken.__repr__N)r!���r"���r#���) r*���� __module__�__qualname__�__doc__� __slots__r%���r&���r(���r+���r���r���r���r���r���3���s���c�������������C���s8���|�j�||||f��|�j��\}}|dkr*|S�t||��dS�)zL Send a message to manager using connection `c` and return response z#RETURNN)�send�recv�convert_to_error)�cr#���� methodname�args�kwds�kind�resultr���r���r����dispatchJ���s ����r9���c�������������C���s<���|�dkr|S�|�dkrt�|�S�|�dkr0t�d|��S�td�S�d�S�)Nz#ERRORz #TRACEBACKz#UNSERIALIZABLEzUnserializable message: %s zUnrecognized message type)�RemoteError� ValueError)r7���r8���r���r���r���r2���T���s����r2���c���������������@���s���e�Zd�Zdd��ZdS�)r:���c�������������C���s&���ddd��d�t�|�jd���dd��S�)N� �-�K���r���)�strr5���)r$���r���r���r����__str__a���s����zRemoteError.__str__N)r*���r,���r-���r@���r���r���r���r���r:���`���s���r:���c�������������C���s6���g�}x,t�|��D�] }t|�|�}t|�r|j|��qW�|S�)z4 Return a list of names of methods of `obj` )�dirr����callable�append)r����tempr����funcr���r���r����all_methodsh���s���� rF���c�������������C���s���dd��t�|��D��S�)zP Return a list of names of methods of `obj` which do not start with '_' c�������������S���s���g�|�]}|d��dkr|�qS�)r����_r���)r���r���r���r���r���r���w���s����z"public_methods.<locals>.<listcomp>)rF���)r���r���r���r����public_methodss���s����rH���c������������ ���@���s����e�Zd�ZdZdddddddd d g Zdd��Zd d��Zdd��Zdd��Zdd��Z dd��Z dd��Zdd��Zeee d�Z dd��Zdd��Zd d!��Zd"d#��Zd$d%��Zd&d'��Zd(d)��Zd*d+��Zd,d-��Zd.S�)/�ServerzM Server class which runs in a process controlled by a manager object �shutdown�create�accept_connection�get_methods� debug_info�number_of_objects�dummy�incref�decrefc�������������C���s^���||�_�tj|�|�_t|�\}}||dd�|�_|�jj|�_dd�f�fi|�_i�|�_i�|�_ t j��|�_d�S�)N����)r"���Zbacklog�0) �registryr����AuthenticationString�authkey�listener_client�listenerr"���� id_to_obj�id_to_refcount�id_to_local_proxy_obj� threading�Lock�mutex)r$���rU���r"���rW���� serializer�Listener�Clientr���r���r���r%�������s���� zServer.__init__c�������������C���s����t�j��|�_|�tj��_zZt�j|�jd�}d|_|j ���y x|�jj ��sN|�jjd��q6W�W�n�tt fk rj���Y�nX�W�dtjtjkr�tjd��tjt_tjt_tjd��X�dS�)z( Run the server forever )�targetTr���Nzresetting stdout, stderrr���)r]����Event� stop_eventr����current_process�_manager_server�Thread�accepter�daemon�start�is_set�wait�KeyboardInterrupt� SystemExit�sys�stdout� __stdout__r ����debug� __stderr__�stderr�exit)r$���ri���r���r���r���� serve_forever����s ���� zServer.serve_foreverc�������������C���sP���xJy|�j�j��}W�n�tk r&���wY�nX�tj|�j|fd�}d|_|j���qW�d�S�)N)rc���r5���T)rY���Zaccept�OSErrorr]���rh����handle_requestrj���rk���)r$���r3����tr���r���r���ri�������s����zServer.accepterc����������'���C���s4��d�}�}}y>t�j||�j��t�j||�j��|j��}|\}}}}t|�|�}W�n�tk rh���dt��f} Y�n>X�y||f|�|�}W�n�tk r����dt��f} Y�n X�d|f} y|j| ��W�nr�tk �r&�} �zTy|jdt��f��W�n�tk r����Y�nX�t j d| ��t j d|��t j d| ��W�Y�dd} ~ X�nX�|j���dS�)z) Handle a new connection Nz #TRACEBACKz#RETURNzFailure to send message: %rz ... request was %rz ... exception was %r)r���Zdeliver_challengerW���Zanswer_challenger1���r���� Exceptionr���r0���r ����info�close)r$���r3����funcnamer8����request�ignorer5���r6���rE����msg�er���r���r���ry�������s2����zServer.handle_requestc����������D���C���s���t�jdtj��j��|j}|j}|�j}�x�|�jj ���s�yBd�}}|��}|\}}} } y||�\}}}W�n^�t k r��} �zBy|�j|�\}}}W�n&�t k r��}�z | �W�Y�dd}~X�nX�W�Y�dd} ~ X�nX�||kr�td|t |�|f���t||�}y|| | �}W�n,�tk �r&�}�zd|f}W�Y�dd}~X�nPX�|�o8|j|d�}|�rn|�j|||�\}}t||�j|�}d||ff}nd|f}W�n��tk �r����|dk�r�dt��f}nNy,|�j|�}||�|||f| �| �}d|f}W�n �tk �r����dt��f}Y�nX�Y�nP�tk �r"���t�jdtj��j��tjd ��Y�n �tk �r@���dt��f}Y�nX�yDy||��W�n2�tk �r��}�z|d t��f��W�Y�dd}~X�nX�W�q(�tk �r��}�zBt�jdtj��j��t�jd|��t�jd |��|j���tjd��W�Y�dd}~X�q(X�q(W�dS�)zQ Handle requests from the proxies in a particular process/thread z$starting server thread to service %rNz+method %r of %r object is not in exposed=%rz#ERRORz#PROXYz#RETURNz #TRACEBACKz$got EOF -- exiting thread serving %rr���z#UNSERIALIZABLEzexception in thread serving %rz ... message was %rz ... exception was %rr���)r ���rs���r]����current_threadr���r1���r0���rZ���re���rl����KeyErrorr\����AttributeErrorr���r���r{����getrK���r���r"���r����fallback_mapping�EOFErrorrp���rv���r|���r}���)r$����connr1���r0���rZ���r4���r���r����identr5���r6����exposed� gettypeid�keZ second_keZfunction�resr����r����r!���ZridentZrexposed�tokenZ fallback_funcr8���r���r���r����serve_client����sx����( $zServer.serve_clientc�������������C���s���|S�)Nr���)r$���r����r����r���r���r���r����fallback_getvalue&��s����zServer.fallback_getvaluec�������������C���s���t�|�S�)N)r?���)r$���r����r����r���r���r���r����fallback_str)��s����zServer.fallback_strc�������������C���s���t�|�S�)N)�repr)r$���r����r����r���r���r���r���� fallback_repr,��s����zServer.fallback_repr)r@���r+���z #GETVALUEc�������������C���s���d�S�)Nr���)r$���r3���r���r���r���rP���5��s����zServer.dummyc�������������C���s|���|�j��l�g�}t|�jj���}|j���xD|D�]<}|dkr(|jd||�j|�t|�j|�d��dd��f���q(W�dj|�S�Q�R�X�dS�)zO Return some info --- useful to spot problems with refcounting rT���z %s: refcount=%s %sr���Nr>���r<���) r_���r���r[���r����sortrC���r?���rZ����join)r$���r3���r8���r���r����r���r���r���rN���8��s���� $zServer.debug_infoc�������������C���s ���t�|�j�S�)z* Number of shared objects )�lenr[���)r$���r3���r���r���r���rO���G��s����zServer.number_of_objectsc�������������C���sL���z:yt�jd��|jd��W�n���ddl}|j���Y�nX�W�d|�jj���X�dS�)z' Shutdown this process z!manager received shutdown message�#RETURNNr���)r����N)r ���rs���r0���� traceback� print_excre����set)r$���r3���r����r���r���r���rJ���N��s���� zServer.shutdownc�������������O���s����|�j����|�j|�\}}}}|dkr,|d�} n |||�} |dkrFt| �}|dk r^t|�t|��}dt| ��} tjd|| ��| t|�|f|�j| <�| |�j kr�d|�j | <�W�dQ�R�X�|�j || ��| t|�fS�)z> Create a new shared object and return its id Nr���z%xz&%r callable returned object with id %r)r_���rU���rH���r���r#���r ���rs���r����rZ���r[���rQ����tuple)r$���r3���r!���r5���r6���rB���r�����method_to_typeid� proxytyper���r����r���r���r���rK���[��s ���� z Server.createc�������������C���s���t�|�j|j�d��S�)zL Return the methods of the shared object indicated by token r���)r����rZ���r#���)r$���r3���r����r���r���r���rM���z��s����zServer.get_methodsc�������������C���s"���|t�j��_|jd��|�j|��dS�)z= Spawn a new thread to serve this connection �#RETURNN)r����N)r]���r����r���r0���r����)r$���r3���r���r���r���r���rL������s���� zServer.accept_connectionc�������������C���s����|�j����y|�j|��d7��<�W�nh�tk r��}�zL||�jkrrd|�j|<�|�j|�|�j|<�|�j|�\}}}tjd|��n|�W�Y�d�d�}~X�nX�W�d�Q�R�X�d�S�)Nr���z&Server re-enabled tracking & INCREF %r)r_���r[���r����r\���rZ���r ���rs���)r$���r3���r����r����r���r����r����r���r���r���rQ������s���� z Server.increfc�������������C���s����||�j�kr$||�jkr$tjd|��d�S�|�j�.�|�j�|��d8��<�|�j�|�dkrT|�j�|=�W�d�Q�R�X�||�j�kr�d�f�d�f|�j|<�tjd|��|�j��|�j|=�W�d�Q�R�X�d�S�)NzServer DECREF skipping %rr���r���zdisposing of obj with id %r)r[���r\���r ���rs���r_���rZ���)r$���r3���r����r���r���r���rR������s���� z Server.decrefN)r*���r,���r-���r.���Zpublicr%���rw���ri���ry���r����r����r����r����r����rP���rN���rO���rJ���rK���rM���rL���rQ���rR���r���r���r���r���rI���}���s.��� "Q rI���c���������������@���s���e�Zd�ZdgZdZdZdZdS�)�State�valuer���r�������N)r*���r,���r-���r/����INITIAL�STARTED�SHUTDOWNr���r���r���r���r�������s���r����)�pickleZ xmlrpclibc���������������@���s����e�Zd�ZdZi�ZeZd!dd�Zdd��Zdd ��Z df�fd d�Z edf�fdd ��Zdd��Z d"dd�Zdd��Zdd��Zdd��Zdd��Zedd���Zedd���Zed#dd ��ZdS�)$r���z! Base class for managers Nr����c�������������C���s\���|d�krt�j��j}||�_t�j|�|�_t��|�_tj|�j_ ||�_ t|�\|�_|�_ |pTt��|�_d�S�)N)r���rf���rW����_addressrV����_authkeyr�����_stater����r�����_serializerrX���Z _Listener�_Clientr����_ctx)r$���r"���rW���r`���Zctxr���r���r���r%������s���� zBaseManager.__init__c�������������C���s���t�|�j|�j|�j|�j�S�)zX Return server object with serve_forever() method and address attribute )rI���� _registryr����r����r����)r$���r���r���r���� get_server���s���� zBaseManager.get_serverc�������������C���s8���t�|�j�\}}||�j|�jd�}t|dd��tj|�j_dS�)z> Connect manager object to the server process )rW���NrP���) rX���r����r����r����r9���r����r����r����r����)r$���ra���rb���r����r���r���r����connect���s����zBaseManager.connectc���������� ���C���s����|dk rt�|��rtd��tjdd�\}}|�jjt|��j|�j|�j |�j |�j|||fd�|�_dj dd��|�jjD���}t|��jd �|�|�j_|�jj���|j���|j��|�_ |j���tj|�j_tj|�t|��j|�j|�j |�j |�j|�jfd d�|�_dS�)z@ Spawn a server process for this manager object Nzinitializer must be a callableF)Zduplex)rc���r5����:c�������������s���s���|�]}t�|�V��qd�S�)N)r?���)r����ir���r���r���� <genexpr>���s����z$BaseManager.start.<locals>.<genexpr>r=���r���)r5����exitpriority)rB���� TypeErrorr���ZPiper����ZProcessr����_run_serverr����r����r����r�����_processr����Z _identityr*���r���rk���r}���r1���r����r����r����r����r ����Finalize�_finalize_managerr����rJ���)r$����initializer�initargs�reader�writerr����r���r���r���rk������s&���� zBaseManager.startc������� ������C���sN���|dk r||���|�j�||||�}|j|j��|j���tjd|j��|j���dS�)z@ Create a server, report its address and run it Nzmanager serving at %r)�_Serverr0���r"���r}���r ���r|���rw���) �clsrU���r"���rW���r`���r����r����r�����serverr���r���r���r������s����zBaseManager._run_serverc�������������O���sN���|�j�|�j|�jd�}zt|dd|f|�|�\}}W�d|j���X�t||�j|�|fS�)zP Create a new shared object; return the token and exposed tuple )rW���NrK���)r����r����r����r9���r}���r���)r$���r!���r5���r6���r����r#���r����r���r���r����_create%��s ���� zBaseManager._createc�������������C���s*���|�j�dk r&|�j�j|��|�j�j��s&d|�_�dS�)zC Join the manager process (if it has been spawned) N)r����r�����is_alive)r$����timeoutr���r���r���r����1��s���� zBaseManager.joinc���������� ���C���s.���|�j�|�j|�jd�}zt|dd�S�|j���X�dS�)zS Return some info about the servers shared objects and connections )rW���NrN���)r����r����r����r9���r}���)r$���r����r���r���r����_debug_info:��s����zBaseManager._debug_infoc���������� ���C���s.���|�j�|�j|�jd�}zt|dd�S�|j���X�dS�)z5 Return the number of shared objects )rW���NrO���)r����r����r����r9���r}���)r$���r����r���r���r����_number_of_objectsD��s����zBaseManager._number_of_objectsc�������������C���s���|�j�jtjkr|�j���|�S�)N)r����r����r����r����rk���)r$���r���r���r���� __enter__N��s����zBaseManager.__enter__c�������������C���s���|�j����d�S�)N)rJ���)r$����exc_type�exc_val�exc_tbr���r���r����__exit__T��s����zBaseManager.__exit__c�������������C���s����|�j���r�tjd��y,|||d�}zt|dd��W�d|j���X�W�n�tk rR���Y�nX�|�jdd��|�j���r�tjd��t|�d�r�tjd ��|�j���|�jd d��|�j���r�tjd��t j |_ytj |=�W�n�tk r����Y�nX�dS�)zQ Shutdown the manager process; will be registered as a finalizer z#sending shutdown message to manager)rW���NrJ���g�������?)r����zmanager still alive� terminatez'trying to `terminate()` manager processg�������?z#manager still alive after terminate)r����r ���r|���r9���r}���r{���r�����hasattrr����r����r����r����r����_address_to_localr����)r���r"���rW���r'���r����r����r���r���r���r����W��s.���� zBaseManager._finalize_managerc�������������C���s���|�j�S�)N)r����)r$���r���r���r����<lambda>w��s����zBaseManager.<lambda>Tc������� ���������s����d|�j�kr|�jj��|�_��dkr"t��|p0t��dd�}|p@t��dd�}|r`xt|j���D�]\}}qTW�|||��f|�j�<�|r����fdd�} �| _t|��| ��dS�)z9 Register a typeid with the manager type r����N� _exposed_�_method_to_typeid_c����������������s`���t�jd���|�j�f|�|�\}}��||�j|�|�j|d�}|�j|j|�jd�}t|d�d|jf��|S�)Nz)requesting creation of a shared %r object)�managerrW���r����)rW���rR���) r ���rs���r����r����r����r����r"���r9���r#���)r$���r5���r6���r����Zexp�proxyr����)r����r!���r���r���rD������s����z"BaseManager.register.<locals>.temp) �__dict__r�����copy� AutoProxyr���r���r���r*����setattr) r����r!���rB���r����r����r����� create_method�keyr����rD���r���)r����r!���r����registery��s���� zBaseManager.register)NNr����N)N)NNNNT)r*���r,���r-���r.���r����rI���r����r%���r����r����rk����classmethodr����r����r����r����r����r����r�����staticmethodr�����propertyr"���r����r���r���r���r���r������s*���� $ �c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)�ProcessLocalSetc�������������C���s���t�j|�dd����d�S�)Nc�������������S���s���|�j���S�)N)�clear)r���r���r���r���r�������s����z*ProcessLocalSet.__init__.<locals>.<lambda>)r ����register_after_fork)r$���r���r���r���r%������s����zProcessLocalSet.__init__c�������������C���s���t�|��f�fS�)N)r���)r$���r���r���r���� __reduce__���s����zProcessLocalSet.__reduce__N)r*���r,���r-���r%���r����r���r���r���r���r�������s���r����c���������������@���s����e�Zd�ZdZi�Zej��Zddd�Zdd��Z f�i�fd d �Z dd��Zd d��Ze dd���Zdd��Zdd��Zdd��Zdd��Zdd��ZdS�)r���z. A base for proxies of shared objects NTFc������� ��� ���C���s����t�j�8�t�jj|jd��}|d�kr:tj��t��f}|t�j|j<�W�d�Q�R�X�|d�|�_|d�|�_ ||�_ |�j j|�_||�_ ||�_t|�d�|�_||�_|d�k r�tj|�|�_n"|�j d�k r�|�j j|�_ntj��j|�_|r�|�j���tj|�t�j��d�S�)Nr���r���)r����_mutexr����r����r"���r ���ZForkAwareLocalr�����_tls�_idset�_tokenr#����_id�_managerr����rX���r�����_owned_by_managerr���rV���r����rf���rW����_increfr�����_after_fork) r$���r����r`���r����rW���r����rQ���� manager_ownedZ tls_idsetr���r���r���r%������s*���� zBaseProxy.__init__c�������������C���sd���t�jd��tj��j}tj��jdkr4|dtj��j�7�}|�j|�jj |�j d�}t|d�d|f��||�j_ d�S�)Nzmaking connection to managerZ MainThread�|)rW���rL���)r ���rs���r���rf���r���r]���r����r����r����r"���r����r9���r����r���)r$���r���r����r���r���r����_connect���s���� zBaseProxy._connectc�������������C���s����y|�j�j}W�n6�tk rB���tjdtj��j��|�j���|�j�j}Y�nX�|j |�j |||f��|j��\}}|dkrp|S�|dkr�|\}}|�jj |j�d �} |�jj|_| ||�j|�j|�j|d�} |�j|j|�jd�}t|dd|jf��| S�t||��dS�) zW Try to call a method of the referrent and return a copy of the result z#thread %r does not own a connectionz#RETURNz#PROXYr���)r����rW���r����)rW���NrR������)r����r���r����r ���rs���r]���r����r���r����r0���r����r1���r����r����r!���r����r"���r����r����r����r9���r#���r2���)r$���r4���r5���r6���r����r7���r8���r����r����r����r����r���r���r����_callmethod���s,���� zBaseProxy._callmethodc�������������C���s ���|�j�d�S�)z9 Get a copy of the value of the referent z #GETVALUE)r����)r$���r���r���r���� _getvalue��s����zBaseProxy._getvaluec���������� ���C���s����|�j�rtjd|�jj��d�S�|�j|�jj|�jd�}t|d�d|�j f��tjd|�jj��|�j j|�j ��|�joj|�jj }tj|�tj|�j|�j||�j|�j |�jfdd�|�_d�S�)Nz%owned_by_manager skipped INCREF of %r)rW���rQ���z INCREF %r� ���)r5���r����)r����r ���rs���r����r#���r����r"���r����r9���r����r�����addr����r����r����r����_decrefr����Z_close)r$���r����r'���r���r���r���r������s���� zBaseProxy._increfc�������������C���s����|j�|�j��|d�ks |jtjkr�y2tjd|�j��||�j|d�}t|d�d|�jf��W�q��t k r��}�ztjd|��W�Y�d�d�}~X�q�X�ntjd|�j��|�r�t |d�r�tjdtj��j ��|jj���|`d�S�)Nz DECREF %r)rW���rR���z... decref failed %sz%DECREF %r -- manager already shutdownr���z-thread %r has no more proxies so closing conn)�discardr#���r����r����r����r ���rs���r"���r9���r{���r����r]���r����r���r���r}���)r����rW���r'���ZtlsZidsetr����r����r����r���r���r���r���� ��s���� zBaseProxy._decrefc�������������C���sH���d�|�_�y|�j���W�n0�tk rB�}�ztjd|���W�Y�d�d�}~X�nX�d�S�)Nzincref failed: %s)r����r����r{���r ���r|���)r$���r����r���r���r���r����9��s ����zBaseProxy._after_forkc�������������C���s^���i�}t���d�k r|�j|d<�t|�dd�rB|�j|d<�tt|�j|�j|ffS�tt|��|�j|�j|ffS�d�S�)NrW����_isautoFr����) r ���r����r���r�����RebuildProxyr����r����r����r���)r$���r6���r���r���r���r����A��s���� zBaseProxy.__reduce__c�������������C���s���|�j���S�)N)r����)r$����memor���r���r����__deepcopy__N��s����zBaseProxy.__deepcopy__c�������������C���s���dt�|��j|�jjt|��f�S�)Nz<%s object, typeid %r at %#x>)r���r*���r����r!���r#���)r$���r���r���r���r+���Q��s����zBaseProxy.__repr__c�������������C���s4���y |�j�d�S��tk r.���t|��dd��d�S�X�dS�)zV Return representation of the referent (or a fall-back if that fails) r+���Nr���z; '__str__()' failed>r����)r����r{���r����)r$���r���r���r���r@���U��s���� zBaseProxy.__str__)NNNTF)r*���r,���r-���r.���r����r ���ZForkAwareThreadLockr����r%���r����r����r����r����r����r����r����r����r����r+���r@���r���r���r���r���r������s���� ( c�������������C���s����t�tj��dd�}|rT|j|jkrTtjd|��d|d<�|j|jkrT|j|j�|j|j<�|j dd�opt�tj��dd��}|�||fd|i|��S�) z5 Function used for unpickling proxy objects. rg���Nz*Rebuild a proxy owned by manager, token=%rTr����rQ���Z_inheritingF) r���r���rf���r"���r ���rs���r#���r\���rZ����pop)rE���r����r`���r6���r����rQ���r���r���r���r����b��s����r����c���������� ���C���sr���t�|�}y||�|f�S��tk r(���Y�nX�i�}x|D�]}td||f�|��q4W�t|�tf|�}||_|||�|f<�|S�)zB Return a proxy type whose methods are given by `exposed` zLdef %s(self, *args, **kwds): return self._callmethod(%r, args, kwds))r����r�����execr���r���r����)r���r�����_cacheZdic�meth� ProxyTyper���r���r���� MakeProxyTypew��s���� r����Tc������� ������C���s����t�|�d�}|dkrB||�j|d�}zt|dd|�f�}W�d|j���X�|dkrX|dk rX|j}|dkrjtj��j}td|�j �|�}||�||||d�} d| _ | S�)z* Return an auto-proxy for `token` r���N)rW���rM���z AutoProxy[%s])r����rW���rQ���T)rX���r"���r9���r}���r����r���rf���rW���r����r!���r����) r����r`���r����rW���r����rQ���r����r����r����r����r���r���r���r�������s���� r����c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)� Namespacec�������������K���s���|�j�j|��d�S�)N)r�����update)r$���r6���r���r���r���r%������s����zNamespace.__init__c�������������C���s^���t�|�jj���}g�}x,|D�]$\}}|jd�s|jd||f���qW�|j���d|�jjdj|�f�S�)NrG���z%s=%rz%s(%s)z, ) r���r����r���� startswithrC���r����r)���r*���r����)r$���r���rD���r���r����r���r���r���r+������s���� zNamespace.__repr__N)r*���r,���r-���r%���r+���r���r���r���r���r�������s���r����c���������������@���s8���e�Zd�Zddd�Zdd��Zdd��Zdd ��Zeee�Zd S�)�ValueTc�������������C���s���||�_�||�_d�S�)N)� _typecode�_value)r$���r���r�����lockr���r���r���r%������s����zValue.__init__c�������������C���s���|�j�S�)N)r��)r$���r���r���r���r�������s����z Value.getc�������������C���s ���||�_�d�S�)N)r��)r$���r����r���r���r���r�������s����z Value.setc�������������C���s���dt�|��j|�j|�jf�S�)Nz %s(%r, %r))r���r*���r��r��)r$���r���r���r���r+������s����zValue.__repr__N)T) r*���r,���r-���r%���r����r����r+���r����r����r���r���r���r���r������s ��� r���c�������������C���s���t�j�|�|�S�)N)r���)r���Zsequencer��r���r���r����Array���s����r��c���������������@���s8���e�Zd�ZdZdd��Zdd��Zd d ��Zdd��Zd d��ZdS�)� IteratorProxy�__next__r0����throwr}���c�������������C���s���|�S�)Nr���)r$���r���r���r����__iter__���s����zIteratorProxy.__iter__c�������������G���s���|�j�d|�S�)Nr��)r����)r$���r5���r���r���r���r�����s����zIteratorProxy.__next__c�������������G���s���|�j�d|�S�)Nr0���)r����)r$���r5���r���r���r���r0������s����zIteratorProxy.sendc�������������G���s���|�j�d|�S�)Nr��)r����)r$���r5���r���r���r���r�����s����zIteratorProxy.throwc�������������G���s���|�j�d|�S�)Nr}���)r����)r$���r5���r���r���r���r}������s����zIteratorProxy.closeN)r��r0���r��r}���) r*���r,���r-���r����r��r��r0���r��r}���r���r���r���r���r�����s���r��c���������������@���s2���e�Zd�Zd Zddd�Zdd��Zd d ��Zdd��ZdS�)� AcquirerProxy�acquire�releaseTNc�������������C���s"���|d�kr|fn||f}|�j�d|�S�)Nr ��)r����)r$���Zblockingr����r5���r���r���r���r �����s����zAcquirerProxy.acquirec�������������C���s ���|�j�d�S�)Nr��)r����)r$���r���r���r���r�����s����zAcquirerProxy.releasec�������������C���s ���|�j�d�S�)Nr ��)r����)r$���r���r���r���r�������s����zAcquirerProxy.__enter__c�������������C���s ���|�j�d�S�)Nr��)r����)r$���r����r����r����r���r���r���r�������s����zAcquirerProxy.__exit__)r ��r��)TN)r*���r,���r-���r����r ��r��r����r����r���r���r���r���r �����s ��� r ��c���������������@���s4���e�Zd�ZdZddd�Zd d ��Zdd��Zdd d�ZdS�)�ConditionProxyr ��r��rm����notify� notify_allNc�������������C���s���|�j�d|f�S�)Nrm���)r����)r$���r����r���r���r���rm������s����zConditionProxy.waitc�������������C���s ���|�j�d�S�)Nr ��)r����)r$���r���r���r���r �����s����zConditionProxy.notifyc�������������C���s ���|�j�d�S�)Nr��)r����)r$���r���r���r���r�����s����zConditionProxy.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 monotonicrm���)r$���Z predicater����r8���ZendtimeZwaittimer���r���r����wait_for���s���� zConditionProxy.wait_for)r ��r��rm���r ��r��)N)N)r*���r,���r-���r����rm���r ��r��r��r���r���r���r���r�����s ��� r��c���������������@���s2���e�Zd�ZdZdd��Zdd��Zd d ��Zddd �ZdS�)� EventProxyrl���r����r����rm���c�������������C���s ���|�j�d�S�)Nrl���)r����)r$���r���r���r���rl�����s����zEventProxy.is_setc�������������C���s ���|�j�d�S�)Nr����)r����)r$���r���r���r���r������s����zEventProxy.setc�������������C���s ���|�j�d�S�)Nr����)r����)r$���r���r���r���r������s����zEventProxy.clearNc�������������C���s���|�j�d|f�S�)Nrm���)r����)r$���r����r���r���r���rm�����s����zEventProxy.wait)rl���r����r����rm���)N)r*���r,���r-���r����rl���r����r����rm���r���r���r���r���r�����s ���r��c���������������@���sN���e�Zd�ZdZddd�Zdd ��Zd d��Zedd ���Zedd���Z edd���Z dS�)�BarrierProxy�__getattribute__rm����abort�resetNc�������������C���s���|�j�d|f�S�)Nrm���)r����)r$���r����r���r���r���rm��� ��s����zBarrierProxy.waitc�������������C���s ���|�j�d�S�)Nr��)r����)r$���r���r���r���r����s����zBarrierProxy.abortc�������������C���s ���|�j�d�S�)Nr��)r����)r$���r���r���r���r����s����zBarrierProxy.resetc�������������C���s���|�j�dd�S�)Nr���parties)r��)r����)r$���r���r���r���r����s����zBarrierProxy.partiesc�������������C���s���|�j�dd�S�)Nr��� n_waiting)r��)r����)r$���r���r���r���r����s����zBarrierProxy.n_waitingc�������������C���s���|�j�dd�S�)Nr���broken)r��)r����)r$���r���r���r���r����s����zBarrierProxy.broken)r��rm���r��r��)N)r*���r,���r-���r����rm���r��r��r����r��r��r��r���r���r���r���r����s��� r��c���������������@���s(���e�Zd�ZdZdd��Zdd��Zdd ��Zd S�)�NamespaceProxyr���__setattr__�__delattr__c�������������C���s0���|d�dkrt�j|�|�S�t�j|�d�}|d|f�S�)Nr���rG���r����r��)�objectr��)r$���r����� callmethodr���r���r����__getattr__ ��s����zNamespaceProxy.__getattr__c�������������C���s4���|d�dkrt�j|�||�S�t�j|�d�}|d||f�S�)Nr���rG���r����r��)r��r��r��)r$���r����r����r��r���r���r���r��%��s����zNamespaceProxy.__setattr__c�������������C���s0���|d�dkrt�j|�|�S�t�j|�d�}|d|f�S�)Nr���rG���r����r��)r��r��r��)r$���r����r��r���r���r���r��*��s����zNamespaceProxy.__delattr__N)r��r��r��)r*���r,���r-���r����r��r��r��r���r���r���r���r����s���r��c���������������@���s*���e�Zd�ZdZdd��Zdd��Zeee�ZdS�) � ValueProxyr����r����c�������������C���s ���|�j�d�S�)Nr����)r����)r$���r���r���r���r����3��s����zValueProxy.getc�������������C���s���|�j�d|f�S�)Nr����)r����)r$���r����r���r���r���r����5��s����zValueProxy.setN)r����r����)r*���r,���r-���r����r����r����r����r����r���r���r���r���r��1��s���r��� BaseListProxy�__add__�__contains__�__delitem__�__getitem__�__len__�__mul__�__reversed__�__rmul__�__setitem__rC����count�extend�index�insertr�����remove�reverser�����__imul__c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)� ListProxyc�������������C���s���|�j�d|f��|�S�)Nr+��)r����)r$���r����r���r���r����__iadd__A��s����zListProxy.__iadd__c�������������C���s���|�j�d|f��|�S�)Nr0��)r����)r$���r����r���r���r���r0��D��s����zListProxy.__imul__N)r*���r,���r-���r2��r0��r���r���r���r���r1��@��s���r1��� DictProxyr��r����r����r�����has_key�popitem� setdefaultr�����Iterator� ArrayProxy� PoolProxy�apply�apply_asyncr}����imap�imap_unorderedr�����map� map_async�starmap� starmap_asyncr����ZAsyncResult)r;��r?��rA��r<��r=��c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)r9��c�������������C���s���|�S�)Nr���)r$���r���r���r���r����d��s����zPoolProxy.__enter__c�������������C���s���|�j����d�S�)N)r����)r$���r����r����r����r���r���r���r����f��s����zPoolProxy.__exit__N)r*���r,���r-���r����r����r���r���r���r���r9��c��s���c���������������@���s���e�Zd�ZdZdS�)r���a(�� Subclass of `BaseManager` which supports a number of shared object types. The types registered are those intended for the synchronization of threads, plus `dict`, `list` and `Namespace`. The `multiprocessing.Manager()` function creates started instances of this class. N)r*���r,���r-���r.���r���r���r���r���r���m��s��� �QueueZ JoinableQueuerd���r^����RLock� Semaphore�BoundedSemaphore� Condition�Barrier�Poolr����dictF)r����r����)r����)r���r���r���)NNNT)T)r!��r"��r#��r$��r%��r&��r'��r(��r)��rC���r*��r+��r,��r-��r����r.��r/��r����r0��)r"��r#��r$��r��r%��r)��r����r����r����r4��r���r���r����r5��r6��r����r���)r%��r$��r)��)r:��r;��r}���r<��r=��r����r>��r?��r@��rA��r����)I�__all__rp���r]���r���Zqueuer��r����r�����r����contextr ���r ���r���r���r ���r���r���r����Z view_typesr���r ���Z view_typer��r���r9���r2���r{���r:���rF���rH���rI���r����ra���rb���ZXmlListenerZ XmlClientrX���r���r����r����r���r����r����r����r����r���r��r��r ��r��r��r��r��r��r ��r1��r3��r����r8��Z BasePoolProxyr9��r���rB��rd���r^���rC��rD��rE��rF��rG��rH��rI��r���r���r���r����<module>���s���� ��; �] �4� ��� �� �