
     hH                        d dl mZ d dlZd dlZd dlZd dlZd dlmZmZmZm	Z	 d dlm
Z
 d dlmZ d dlmZ g dZ G d d	ej                  Z	 ej        Zn# e$ r
 ej        ZY nw xY w G d
 de          ZeZej        Z ej                     e            _        d Zd Z G d de          ZeZeZddZ  G d de          Z!d Z"d Z#ddZ$eZ%dS )    )absolute_importN)LockRLock	SemaphoreBoundedSemaphore)Event)Queue)Pipe)Processcurrent_processactive_childrenfreeze_supportr   r   r   r   	Conditionr   r	   Managerr
   PoolJoinableQueuec                   <    e Zd Zddddi fdZd Zed             ZdS )DummyProcessN c                     t           j                            | |||||           d | _        t	          j                    | _        d| _        t                      | _	        d S )NF)
	threadingThread__init___pidweakrefWeakKeyDictionary	_children_start_calledr   _parent)selfgrouptargetnameargskwargss         S/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/billiard/dummy/__init__.pyr   zDummyProcess.__init__=   sS    !!$vtT6JJJ	 244"&((    c                     | j         t                      u sJ d| _        t          | j         d          rd | j         j        | <   t
          j                            |            d S )NTr   )r   r   r   hasattrr   r   r   startr    s    r&   r*   zDummyProcess.startD   sc    |000000!4<-- 	0+/DL"4(t$$$$$r'   c                 @    | j         r|                                 sdS d S )Nr   )r   is_aliver+   s    r&   exitcodezDummyProcess.exitcodeK   s&     	dmmoo 	14r'   )__name__
__module____qualname__r   r*   propertyr.   r   r'   r&   r   r   ;   s]        !$T2 ) ) ) )% % %   X  r'   r   c                   Z    e Zd Zej        d         dk    r	ej        ZdS ej        j        ZdS )r   r      N)	r/   r0   r1   sysversion_info
_Condition	notifyAll
notify_all__func__r   r'   r&   r   r   Y   s8        
a)


)2


r'   r   c                      t                      j        } t          |           D ],}|                                s|                     |d            -t          |           S N)r   r   listr-   pop)childrenps     r&   r   r   e   sV      *H(^^ " "zz|| 	"LLD!!!>>r'   c                      d S r<   r   r   r'   r&   r   r   m       Dr'   c                       e Zd Zd Zd ZdS )	Namespacec                 :    | j                             |           d S r<   )__dict__update)r    kwdss     r&   r   zNamespace.__init__s   s    T"""""r'   c                 >   t          | j                                                  }g }|D ]4\  }}|                    d          s|                    |d|           5|                                 | j        j        dt          	                    d|          dS )N_=(, ))
r=   rF   items
startswithappendsort	__class__r/   strjoin)r    rO   tempr#   values        r&   __repr__zNamespace.__repr__v   s    T]((**++  	5 	5KD%??3'' 5tttUU3444		>222CHHT44H4H4H4HIIr'   N)r/   r0   r1   r   rX   r   r'   r&   rD   rD   q   s7        # # #J J J J Jr'   rD   Tc                 ,    t          j         | |          S r<   )array)typecodesequencelocks      r&   Arrayr^      s    ;x***r'   c                   @    e Zd ZddZd Zd Z eee          Zd ZdS )ValueTc                 "    || _         || _        d S r<   )	_typecode_value)r    r[   rW   r]   s       r&   r   zValue.__init__   s    !r'   c                     | j         S r<   rc   r+   s    r&   _getz
Value._get   s
    {r'   c                     || _         d S r<   re   )r    rW   s     r&   _setz
Value._set   s    r'   c                 R    dt          |           j        d| j        d| j        dS )N<rL   rM   z)>)typer/   rb   rc   r+   s    r&   rX   zValue.__repr__   s1     !%d!4!4!4!%> 	>r'   NT)	r/   r0   r1   r   rf   rh   r2   rW   rX   r   r'   r&   r`   r`      sf               HT4  E> > > > >r'   r`   c                  0    t           j        t                   S r<   )r5   modulesr/   r   r'   r&   r   r      s    ;x  r'   c                      d S r<   r   r   r'   r&   shutdownrp      rB   r'   r   c                 (    ddl m}  || ||          S )Nr   )
ThreadPool)billiard.poolrr   )	processesinitializerinitargsrr   s       r&   r   r      s(    ((((((:ih777r'   rl   )NNr   )&
__future__r   r   r5   r   rZ   r   r   r   r   r   billiard.fiver	   billiard.connectionr
   __all__r   r   r7   AttributeErrorr   r   current_threadr   r   r   r   r   objectrD   dictr=   r^   r`   r   rp   r   r   r   r'   r&   <module>r      s<  D ' & & & & &     



   > > > > > > > > > > > >             $ $ $ $ $ $      9#   0%%JJ % % %$JJJ%3 3 3 3 3
 3 3 3 *7g799     	 	 	J J J J J J J J + + + +> > > > >F > > >$! ! !	 	 	8 8 8 8
 s   A A$#A$