File: //lib64/python3.9/multiprocessing/__pycache__/managers.cpython-39.pyc
a
    �DOgǸ  �                   @   sL  g d �Z ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	 ddl
mZ ddlm
Z
 ddlmZmZmZ ddlmZ dd	lmZ dd
lmZ ddlmZ zddlmZ W n ey�   d
ZY n0 dZe �d� dd� Ze�eje� dd� dD �Zed eu�r8dd� ZeD ]Ze�ee� �q$G dd� de �Z!di fdd�Z"dd� Z#G dd� de$�Z%d d!� Z&d"d#� Z'G d$d%� d%e �Z(G 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,e0�Z1G d-d.� d.e �Z2d/d0� Z3i fd1d2�Z4dmd3d4�Z5G d5d6� d6e �Z6G d7d8� d8e �Z7dnd9d:�Z8G d;d<� d<e2�Z9G d=d>� d>e2�Z:G d?d@� d@e:�Z;G dAdB� dBe2�Z<G dCdD� dDe2�Z=G dEdF� dFe2�Z>G dGdH� dHe2�Z?e4dIdJ�Z@G dKdL� dLe@�ZAe4dMdN�ZBdOdPieB_Ce4dQdR�ZDe4dSdT�ZEdUdUdUdPdPdV�eE_CG dWdS� dSeE�ZFG dXdY� dYe/�ZGeG�dZejH� eG�d[ejH� eG�d\ejIe<� eG�d]ejJe:� eG�d^ejKe:� eG�d_ejLe:� eG�d`ejMe:� eG�daejNe;� eG�dbejOe=� eG�dcejPeF� eG�ddeeA� eG�deeQeB� eG�d8e7e?� eG�d:e8eD� eG�d6e6e>� eGjdPe9d
df� eGjdUd
dg� e�rHG dhdi� di�ZRG djdk� dke(�ZSG dld� de/�ZTdS )o)�BaseManager�SyncManager�	BaseProxy�Token�    N)�getpid)�
format_exc�   )�
connection)�	reduction�get_spawning_popen�ProcessError)�pool)�process)�util)�get_context)�
shared_memoryFT�SharedMemoryManagerc                 C   s   t j | j| �� ffS �N)�array�typecode�tobytes)�a� r   �0/usr/lib64/python3.9/multiprocessing/managers.py�reduce_array/   s    r   c                 C   s   g | ]}t ti |�� ��qS r   )�type�getattr��.0�namer   r   r   �
<listcomp>3   �    r    )�items�keys�valuesc                 C   s   t t | �ffS r   )�list��objr   r   r   �rebuild_as_list5   s    r(   c                   @   s4   e Zd ZdZdZdd� Zdd� Zdd� Zd	d
� ZdS )r   z3
    Type to uniquely identify a shared object
    ��typeid�address�idc                 C   s   |||  | _ | _| _d S r   r)   )�selfr*   r+   r,   r   r   r   �__init__D   s    zToken.__init__c                 C   s   | j | j| jfS r   r)   �r-   r   r   r   �__getstate__G   s    zToken.__getstate__c                 C   s   |\| _ | _| _d S r   r)   �r-   �stater   r   r   �__setstate__J   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__M   s    �zToken.__repr__N)	r5   �
__module__�__qualname__�__doc__�	__slots__r.   r0   r3   r6   r   r   r   r   r   >