<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

e f%-                 @   s,  d  d d g Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l m	 Z	 m
 Z
 d d l Z d d l m Z d d l m Z d d	 l m Z m Z m Z m Z m Z d d
 l m Z Gd d    d  e  Z e   Z Gd d   d e  Z Gd d   d e  Z d S)QueueSimpleQueueJoinableQueue    N)EmptyFull   )
connection)context)debuginfoFinalizeregister_after_fork
is_exiting)ForkingPicklerc               @   s	  e  Z d  Z d d d  Z d d   Z d d   Z d d	   Z d
 d d d  Z d
 d d d  Z d d   Z	 d d   Z
 d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d  d!   Z e d" d#    Z e d$ d%    Z e d& d'    Z d S)(r   r   c            C   s   | d k r d d l  m } n  | |  _ t j d d  \ |  _ |  _ | j   |  _ t	 j
   |  _ t j d k r d  |  _ n | j   |  _ | j |  |  _ d |  _ |  j   t j d k r t |  t j  n  d  S)Nr   r   )SEM_VALUE_MAXduplexFwin32)Zsynchronizer   _maxsizer   Pipe_reader_writerLock_rlockosgetpid_opidsysplatform_wlockZBoundedSemaphore_sem_ignore_epipe_after_forkr   r   )selfmaxsizectx r%   ;/opt/alt/python34/lib64/python3.4/multiprocessing/queues.py__init__$   s    		
zQueue.__init__c             C   sA   t  j |   |  j |  j |  j |  j |  j |  j |  j |  j	 f S)N)
r	   assert_spawningr    r   r   r   r   r   r   r   )r"   r%   r%   r&   __getstate__9   s    zQueue.__getstate__c          	   C   sD   | \ |  _  |  _ |  _ |  _ |  _ |  _ |  _ |  _ |  j   d  S)N)	r    r   r   r   r   r   r   r   r!   )r"   stater%   r%   r&   __setstate__>   s    6zQueue.__setstate__c             C   s   t  d  t j t j    |  _ t j   |  _ d  |  _ d  |  _	 d |  _
 d |  _ d  |  _ |  j j |  _ |  j j |  _ |  j j |  _ d  S)NzQueue._after_fork()F)r
   	threading	Conditionr   	_notemptycollectionsdeque_buffer_thread_jointhread_joincancelled_closed_closer   
send_bytes_send_bytesr   
recv_bytes_recv_bytespoll_poll)r"   r%   r%   r&   r!   C   s    
					zQueue._after_forkTNc          
   C   s}   |  j  j | |  s t  n  |  j j   z= |  j d  k rJ |  j   n  |  j j |  |  j j   Wd  |  j j	   Xd  S)N)
r   acquirer   r.   r2   _start_threadr1   appendnotifyrelease)r"   objblocktimeoutr%   r%   r&   putP   s    	z	Queue.putc          
   C   s  | r> | d  k r> |  j   |  j   } Wd  QX|  j j   n | rW t j   | } n  |  j  j | |  su t  n  zp | r | t j   } | d k  s |  j |  r t  q n |  j   s t  n  |  j   } |  j j   Wd  |  j  j   Xt j	 |  S)Nr   )
r   r:   r   rA   timer=   r   r<   r   loads)r"   rC   rD   resZdeadliner%   r%   r&   get^   s&    
		z	Queue.getc             C   s   |  j  |  j j j   S)N)r   r   _semlockZ
_get_value)r"   r%   r%   r&   qsizev   s    zQueue.qsizec             C   s   |  j    S)N)r<   )r"   r%   r%   r&   emptyz   s    zQueue.emptyc             C   s   |  j  j j   S)N)r   rJ   _is_zero)r"   r%   r%   r&   full}   s    z
Queue.fullc             C   s   |  j  d  S)NF)rI   )r"   r%   r%   r&   
get_nowait   s    zQueue.get_nowaitc             C   s   |  j  | d  S)NF)rE   )r"   rB   r%   r%   r&   
put_nowait   s    zQueue.put_nowaitc             C   sD   d |  _  z |  j j   Wd  |  j } | r? d  |  _ |   n  Xd  S)NT)r5   r   closer6   )r"   rQ   r%   r%   r&   rQ      s    			zQueue.closec             C   s$   t  d  |  j r  |  j   n  d  S)NzQueue.join_thread())r
   r3   )r"   r%   r%   r&   join_thread   s    
	zQueue.join_threadc             C   s=   t  d  d |  _ y |  j j   Wn t k
 r8 Yn Xd  S)NzQueue.cancel_join_thread()T)r
   r4   r3   ZcancelAttributeError)r"   r%   r%   r&   cancel_join_thread   s    
	zQueue.cancel_join_threadc          
   C   s  t  d  |  j j   t j d t j d |  j |  j |  j |  j	 |  j
 j |  j f d d  |  _ d |  j _ t  d  |  j j   t  d  |  j t j   k } |  j r | r t |  j t j t j |  j  g d	 d |  _ n  t |  t j |  j |  j g d	 d |  _ d  S)NzQueue._start_thread()targetargsnameZQueueFeederThreadTzdoing self._thread.start()z... done self._thread.start()Zexitpriority   
   )r
   r1   clearr,   ZThreadr   _feedr.   r8   r   r   rQ   r    r2   Zdaemonstartr   r   r   r4   r   _finalize_joinweakrefrefr3   _finalize_closer6   )r"   Zcreated_by_this_processr%   r%   r&   r>      s*    
		

	zQueue._start_threadc             C   sD   t  d  |    } | d  k	 r6 | j   t  d  n
 t  d  d  S)Nzjoining queue threadz... queue thread joinedz... queue thread already dead)r
   join)ZtwrZthreadr%   r%   r&   r^      s    
	
zQueue._finalize_joinc          
   C   sA   t  d  | j   z |  j t  | j   Wd  | j   Xd  S)Nztelling queue thread to quit)r
   r=   r?   	_sentinelr@   rA   )buffernotemptyr%   r%   r&   ra      s    

zQueue._finalize_closec             C   s  t  d  | j } | j } | j } |  j }	 t }
 t j d k rX | j } | j } n d  } y x |   z |  s~ |   n  Wd  |   Xy} xv |	   } | |
 k r t  d  |   d  St j	 |  } | d  k r | |  q |   z | |  Wd  |   Xq WWqd t
 k
 rYqd Xqd WWn t k
 r} zr | r[t | d d  t j k r[d  Sy3 t   rwt d |  n d d  l } | j   Wn t k
 rYn XWYd  d  } ~ Xn Xd  S)Nz$starting thread to feed data to piper   z%feeder thread got sentinel -- exitingerrnor   zerror in queue thread: %s)r
   r=   rA   waitpopleftrc   r   r   r   dumps
IndexError	Exceptiongetattrrf   ZEPIPEr   r   	traceback	print_exc)rd   re   r7   Z	writelockrQ   Zignore_epipeZnacquireZnreleaseZnwaitZbpopleftsentinelZwacquireZwreleaserB   erm   r%   r%   r&   r\      sV    
						
!	zQueue._feed)__name__
__module____qualname__r'   r)   r+   r!   rE   rI   rK   rL   rN   rO   rP   rQ   rR   rT   r>   staticmethodr^   ra   r\   r%   r%   r%   r&   r   "   s$   
&

c               @   sa   e  Z d  Z d d d  Z d d   Z d d   Z d d	 d
 d  Z d d   Z d d   Z d	 S)r   r   c            C   s;   t  j |  | d | | j d  |  _ | j   |  _ d  S)Nr$   r   )r   r'   Z	Semaphore_unfinished_tasksr-   _cond)r"   r#   r$   r%   r%   r&   r'     s    zJoinableQueue.__init__c             C   s   t  j |   |  j |  j f S)N)r   r)   rv   ru   )r"   r%   r%   r&   r)   #  s    zJoinableQueue.__getstate__c             C   s:   t  j |  | d  d   | d d   \ |  _ |  _ d  S)N   rx   )r   r+   rv   ru   )r"   r*   r%   r%   r&   r+   &  s    zJoinableQueue.__setstate__TNc          
   C   s   |  j  j | |  s t  n  |  j j   |  j j   zJ |  j d  k rW |  j   n  |  j j |  |  j	 j
   |  j j   Wd  |  j j
   |  j j
   Xd  S)N)r   r=   r   r.   rv   r2   r>   r1   r?   ru   rA   r@   )r"   rB   rC   rD   r%   r%   r&   rE   *  s    	zJoinableQueue.putc          
   C   si   |  j  j   zG |  j j d  s1 t d   n  |  j j j   rS |  j  j   n  Wd  |  j  j   Xd  S)NFz!task_done() called too many times)rv   r=   ru   
ValueErrorrJ   rM   Z
notify_allrA   )r"   r%   r%   r&   	task_done;  s    zJoinableQueue.task_donec          
   C   sH   |  j  j   z& |  j j j   s2 |  j  j   n  Wd  |  j  j   Xd  S)N)rv   r=   ru   rJ   rM   rg   rA   )r"   r%   r%   r&   rb   E  s
    zJoinableQueue.join)	rq   rr   rs   r'   r)   r+   rE   rz   rb   r%   r%   r%   r&   r     s   
c               @   sX   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
   Z d d   Z d S)r   c            C   sj   t  j d d  \ |  _ |  _ | j   |  _ |  j j |  _ t j	 d k rW d  |  _
 n | j   |  _
 d  S)Nr   Fr   )r   r   r   r   r   r   r;   r<   r   r   r   )r"   r$   r%   r%   r&   r'   S  s    zSimpleQueue.__init__c             C   s   |  j    S)N)r<   )r"   r%   r%   r&   rL   \  s    zSimpleQueue.emptyc             C   s)   t  j |   |  j |  j |  j |  j f S)N)r	   r(   r   r   r   r   )r"   r%   r%   r&   r)   _  s    zSimpleQueue.__getstate__c             C   s"   | \ |  _  |  _ |  _ |  _ d  S)N)r   r   r   r   )r"   r*   r%   r%   r&   r+   c  s    zSimpleQueue.__setstate__c             C   s,   |  j   |  j j   } Wd  QXt j |  S)N)r   r   r9   r   rG   )r"   rH   r%   r%   r&   rI   f  s    
zSimpleQueue.getc          	   C   sU   t  j |  } |  j d  k r1 |  j j |  n  |  j  |  j j |  Wd  QXd  S)N)r   ri   r   r   r7   )r"   rB   r%   r%   r&   rE   l  s
    
zSimpleQueue.putN)	rq   rr   rs   r'   rL   r)   r+   rI   rE   r%   r%   r%   r&   r   Q  s   	)__all__r   r   r,   r/   rF   r_   rf   Zqueuer   r   Z_multiprocessing r   r	   utilr
   r   r   r   r   Z	reductionr   objectr   rc   r   r   r%   r%   r%   r&   <module>
   s"   (	
5