a XC?h� �@s�gd�ZddlZddlZddlZddlZddlmZddlmZmZm Z m Z ddlm Z m Z m Z ddlmZGdd �d ej�ZeZejZe��e�_d d �Zd d �ZGdd�de�ZeZeZddd�ZGdd�de�Zdd�Zdd�Z ddd�Z!eZ"dS))�Process�current_process�active_children�freeze_support�Lock�RLock� Semaphore�BoundedSemaphore� Condition�Event�Barrier�Queue�Manager�Pipe�Pool� JoinableQueue�N�)r)rrrr)r r r )r c@s4eZdZddddifdd�Zdd�Zedd��ZdS) � DummyProcessN�cCs8tj�||||||�d|_t��|_d|_t�|_ dS)NF) � threading�Thread�__init__Z_pid�weakref�WeakKeyDictionary� _children� _start_calledr�_parent)�self�group�target�name�args�kwargsrr�C/opt/alt/python39/lib64/python3.9/multiprocessing/dummy/__init__.pyr$s  zDummyProcess.__init__cCsN|jt�ur td�|jt����d|_t|jd�r>d|jj|<tj� |�dS)Nz,Parent is {0!r} but current_process is {1!r}Tr) rr� RuntimeError�formatr�hasattrrrr�start�rrrr#r'+s ��  zDummyProcess.startcCs|jr|��sdSdSdS)Nr)r�is_aliver(rrr#�exitcode5szDummyProcess.exitcode)�__name__� __module__� __qualname__rr'�propertyr*rrrr#r"s rcCs2t�j}t|�D]}|��s|�|d�qt|�S�N)rr�listr)�pop)Zchildren�prrr#rDs  rcCsdSr/rrrrr#rKsrc@seZdZdd�Zdd�ZdS)� NamespacecKs|j�|�dSr/)�__dict__�update)r�kwdsrrr#rSszNamespace.__init__cCsZt|j���}g}|D]$\}}|�d�s|�d||f�q|��d|jjd�|�fS)N�_z%s=%rz%s(%s)z, ) r0r4�items� startswith�append�sort� __class__r+�join)rr8Ztempr �valuerrr#�__repr__Us  zNamespace.__repr__N)r+r,r-rr?rrrr#r3Rsr3TcCs t�||�Sr/)�array)�typecodeZsequence�lockrrr#�ArrayasrCc@s8eZdZd dd�Zedd��Zejdd��Zdd�Zd S) �ValueTcCs||_||_dSr/)� _typecode�_value)rrAr>rBrrr#reszValue.__init__cCs|jSr/�rFr(rrr#r>isz Value.valuecCs ||_dSr/rG)rr>rrr#r>mscCsdt|�j|j|jfS)Nz <%s(%r, %r)>)�typer+rErFr(rrr#r?qszValue.__repr__N)T)r+r,r-rr.r>�setterr?rrrr#rDds    rDcCs tjtSr/)�sys�modulesr+rrrr#r tsr cCsdSr/rrrrr#�shutdownwsrLrcCsddlm}||||�S)N�)� ThreadPool)ZpoolrN)Z processesZ initializerZinitargsrNrrr#rzs r)T)NNr)#�__all__rrJrr@Z connectionrrrrrr r r Zqueuer rrrZcurrent_threadrrrrr�objectr3�dictr0rCrDr rLrrrrrr#� s.