Mini Shell
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 >