U
    ãÇ-eõ  ã                   @   s  d ddddddddd	d
dddddgZ ddlZddlZddlZddlZddlmZ ddlmZmZm	Z	m
Z
 ddlmZmZmZ ddlmZ G dd„ dejƒZeZejZe ¡ eƒ _dd„ Zdd„ ZG dd„ deƒZeZeZd'dd„ZG d d!„ d!eƒZd"d„ Zd#d$„ Z d(d&d„Z!eZ"dS ))ÚProcessÚcurrent_processÚactive_childrenÚfreeze_supportÚLockÚRLockÚ	SemaphoreÚBoundedSemaphoreÚ	ConditionÚEventÚBarrierÚQueueÚManagerÚPipeÚPoolÚJoinableQueueé    Né   )r   )r   r   r   r   )r
   r	   r   )r   c                   @   s4   e Zd Zddddi fdd„Zdd„ Zedd„ ƒZdS )	ÚDummyProcessN© c                 C   s8   t j | |||||¡ d | _t ¡ | _d| _tƒ | _	d S )NF)
Ú	threadingÚThreadÚ__init__Ú_pidÚweakrefÚWeakKeyDictionaryÚ	_childrenÚ_start_calledr   Ú_parent)ÚselfÚgroupÚtargetÚnameÚargsÚkwargsr   r   ú\/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/multiprocess/dummy/__init__.pyr   $   s
    
zDummyProcess.__init__c                 C   sN   | j tƒ k	r td | j tƒ ¡ƒ‚d| _t| j dƒr>d | j j| < tj 	| ¡ d S )Nz,Parent is {0!r} but current_process is {1!r}Tr   )
r   r   ÚRuntimeErrorÚformatr   Úhasattrr   r   r   Ústart©r   r   r   r$   r(   +   s     ÿÿzDummyProcess.startc                 C   s   | j r|  ¡ sdS d S d S )Nr   )r   Úis_aliver)   r   r   r$   Úexitcode5   s    zDummyProcess.exitcode)Ú__name__Ú
__module__Ú__qualname__r   r(   Úpropertyr+   r   r   r   r$   r   "   s   
r   c                  C   s2   t ƒ j} t| ƒD ]}| ¡ s|  |d ¡ qt| ƒS ©N)r   r   Úlistr*   Úpop)ÚchildrenÚpr   r   r$   r   D   s
    c                   C   s   d S r0   r   r   r   r   r$   r   K   s    c                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú	Namespacec                K   s   | j  |¡ d S r0   )Ú__dict__Úupdate)r   Úkwdsr   r   r$   r   S   s    zNamespace.__init__c                 C   sZ   t | j ¡ ƒ}g }|D ]$\}}| d¡s| d||f ¡ q| ¡  d| jjd |¡f S )NÚ_z%s=%rz%s(%s)z, )	r1   r6   ÚitemsÚ
startswithÚappendÚsortÚ	__class__r,   Újoin)r   r:   Útempr!   Úvaluer   r   r$   Ú__repr__U   s    
zNamespace.__repr__N)r,   r-   r.   r   rB   r   r   r   r$   r5   R   s   r5   Tc                 C   s   t   | |¡S r0   )Úarray)ÚtypecodeÚsequenceÚlockr   r   r$   ÚArraya   s    rG   c                   @   s8   e Zd Zd
dd„Zedd„ ƒZejdd„ ƒZdd„ Zd	S )ÚValueTc                 C   s   || _ || _d S r0   )Ú	_typecodeÚ_value)r   rD   rA   rF   r   r   r$   r   e   s    zValue.__init__c                 C   s   | j S r0   ©rJ   r)   r   r   r$   rA   i   s    zValue.valuec                 C   s
   || _ d S r0   rK   )r   rA   r   r   r$   rA   m   s    c                 C   s   dt | ƒj| j| jf S )Nz<%s(%r, %r)>)Útyper,   rI   rJ   r)   r   r   r$   rB   q   s    zValue.__repr__N)T)r,   r-   r.   r   r/   rA   ÚsetterrB   r   r   r   r$   rH   d   s   


rH   c                   C   s
   t jt S r0   )ÚsysÚmodulesr,   r   r   r   r$   r   t   s    c                   C   s   d S r0   r   r   r   r   r$   Úshutdownw   s    rP   r   c                 C   s   ddl m} || ||ƒS )Né   )Ú
ThreadPool)ÚpoolrR   )Z	processesZinitializerZinitargsrR   r   r   r$   r   z   s    )T)NNr   )#Ú__all__r   rN   r   rC   Ú
connectionr   r   r   r   r   r
   r	   r   Úqueuer   r   r   r   Úcurrent_threadr   r   r   r   r   Úobjectr5   Údictr1   rG   rH   r   rP   r   r   r   r   r   r$   Ú<module>   sN                ý


