
    daf                     L   g d 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	ej                         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"y))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                   4    e Zd Zddddi fdZd Zed        Zy)DummyProcessN c                     t         j                  j                  | |||||       d | _        t	        j
                         | _        d| _        t               | _	        y )NF)
	threadingThread__init___pidweakrefWeakKeyDictionary	_children_start_calledr   _parent)selfgrouptargetnameargskwargss         9/root/Python-3.12.4/Lib/multiprocessing/dummy/__init__.pyr   zDummyProcess.__init__$   sI    !!$vtT6J	 224"&(    c                 4   | j                   t               ur-t        dj                  | j                   t                           d| _        t        | j                   d      rd | j                   j                  | <   t        j                  j                  |        y )Nz,Parent is {0!r} but current_process is {1!r}Tr   )
r    r   RuntimeErrorformatr   hasattrr   r   r   startr!   s    r'   r-   zDummyProcess.start+   sx    <<00>EELL/"356 6 "4<<-+/DLL""4(t$r(   c                 >    | j                   r| j                         syy )Nr   )r   is_aliver.   s    r'   exitcodezDummyProcess.exitcode5   s    dmmor(   )__name__
__module____qualname__r   r-   propertyr1   r   r(   r'   r   r   "   s+    !$T2 )%  r(   r   c                      t               j                  } t        |       D ]%  }|j                         r| j	                  |d        ' t        |       S N)r   r   listr0   pop)childrenps     r'   r   r   D   sF     **H(^ "zz|LLD!" >r(   c                       y r7   r   r   r(   r'   r   r   K       r(   c                       e Zd Zd Zd Zy)	Namespacec                :    | j                   j                  |       y r7   )__dict__update)r!   kwdss     r'   r   zNamespace.__init__S   s    T"r(   c                 &   t        | j                  j                               }g }|D ]-  \  }}|j                  d      r|j	                  |d|       / |j                          | j                  j                  ddj                  |      dS )N_=(, ))	r8   rA   items
startswithappendsort	__class__r2   join)r!   rJ   tempr$   values        r'   __repr__zNamespace.__repr__U   sv    T]]((*+  	5KD%??3'tU34	5 			>>22DIIdODDr(   N)r2   r3   r4   r   rR   r   r(   r'   r?   r?   R   s    #Er(   r?   c                 .    t        j                   | |      S r7   )array)typecodesequencelocks      r'   ArrayrX   a   s    ;;x**r(   c                   N    e Zd ZddZed        Zej                  d        Zd Zy)Valuec                      || _         || _        y r7   )	_typecode_value)r!   rU   rQ   rW   s       r'   r   zValue.__init__e   s    !r(   c                     | j                   S r7   r]   r.   s    r'   rQ   zValue.valuei   s    {{r(   c                     || _         y r7   r_   )r!   rQ   s     r'   rQ   zValue.valuem   s	    r(   c                 h    dt        |       j                  d| j                  d| j                  dS )N<rG   rH   z)>)typer2   r\   r]   r.   s    r'   rR   zValue.__repr__q   s!    #Dz224>>$++NNr(   NT)r2   r3   r4   r   r5   rQ   setterrR   r   r(   r'   rZ   rZ   d   s9       \\ Or(   rZ   c                  0    t         j                  t           S r7   )sysmodulesr2   r   r(   r'   r   r   t   s    ;;x  r(   c                       y r7   r   r   r(   r'   shutdownrj   w   r=   r(   c                 "    ddl m}  || ||      S )N   )
ThreadPool)poolrm   )	processesinitializerinitargsrm   s       r'   r   r   z   s    !ih77r(   rd   )NNr   )#__all__r   rg   r   rT   
connectionr   r   r   r   r	   r   r
   r   queuer   r   r   r   current_threadr   r   r   r   r   objectr?   dictr8   rX   rZ   r   rj   r   r   r   r(   r'   <module>rx      s     
    > > / / 9## < **7g779  	
E 
E +OF O !	8 r(   