<!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>

Yf)                 @   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 } | |  _ 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  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/python35/lib64/python3.5/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   sf   |  j  j | |  s t  |  j ; |  j d  k r> |  j   |  j j |  |  j j   Wd  QRXd  S)N)	r   acquirer   r.   r2   _start_threadr1   appendnotify)r"   objblocktimeoutr%   r%   r&   putP   s    

z	Queue.putc          
   C   s   | r? | d  k r? |  j   |  j   } Wd  QRX|  j j   n | rU t j   | } |  j  j | |  sp t  zj | r | t j   } | d k  s |  j |  r t  n |  j   s t  |  j   } |  j j   Wd  |  j  j   Xt j	 |  S)Nr   )
r   r:   r   releasetimer=   r   r<   r   loads)r"   rB   rC   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&   qsizes   s    zQueue.qsizec             C   s   |  j    S)N)r<   )r"   r%   r%   r&   emptyw   s    zQueue.emptyc             C   s   |  j  j j   S)N)r   rJ   _is_zero)r"   r%   r%   r&   fullz   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)rD   )r"   rA   r%   r%   r&   
put_nowait   s    zQueue.put_nowaitc             C   sA   d |  _  z |  j j   Wd  |  j } | r< d  |  _ |   Xd  S)NT)r5   r   closer6   )r"   rQ   r%   r%   r&   rQ      s    			zQueue.closec             C   s!   t  d  |  j r |  j   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 s t |  j t j t j |  j  g d	 d |  _ 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startr4   r   _finalize_joinweakrefrefr3   _finalize_closer6   )r"   r%   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   s3   t  d  |  |  j t  | j   Wd  QRXd  S)Nztelling queue thread to quit)r
   r?   	_sentinelr@   )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  } x:y |   z |  s{ |   Wd  |   Xy} xv |	   } | |
 k r t  d  |   d  St j	 |  } | d  k r | |  q |   z | |  Wd  |   Xq WWn t
 k
 rYn XWqa t k
 r} zZ | rTt | d d  t j k rTd  St   rnt d |  d  Sd d  l } | j   WYd  d  } ~ Xqa Xqa Wd  S)Nz$starting thread to feed data to piper   z%feeder thread got sentinel -- exitingerrnor   zerror in queue thread: %s)r
   r=   rE   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wreleaserA   erm   r%   r%   r&   r\      sR    
						
	!	zQueue._feed)__name__
__module____qualname__r'   r)   r+   r!   rD   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  |  j Y |  j H |  j d  k rH |  j   |  j j |  |  j	 j
   |  j j   Wd  QRXWd  QRXd  S)N)r   r=   r   r.   rv   r2   r>   r1   r?   ru   rE   r@   )r"   rA   rB   rC   r%   r%   r&   rD     s    
zJoinableQueue.putc          	   C   sR   |  j  B |  j j d  s( t d   |  j j j   rG |  j  j   Wd  QRXd  S)NFz!task_done() called too many times)rv   ru   r=   
ValueErrorrJ   rM   Z
notify_all)r"   r%   r%   r&   	task_done'  s
    
zJoinableQueue.task_donec          	   C   s4   |  j  $ |  j j j   s) |  j  j   Wd  QRXd  S)N)rv   ru   rJ   rM   rg   )r"   r%   r%   r&   rb   .  s    
zJoinableQueue.join)	rq   rr   rs   r'   r)   r+   rD   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'   9  s    zSimpleQueue.__init__c             C   s   |  j    S)N)r<   )r"   r%   r%   r&   rL   B  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)   E  s    zSimpleQueue.__getstate__c             C   s1   | \ |  _  |  _ |  _ |  _ |  j  j |  _ d  S)N)r   r   r   r   r;   r<   )r"   r*   r%   r%   r&   r+   I  s    zSimpleQueue.__setstate__c          	   C   s-   |  j   |  j j   } Wd  QRXt j |  S)N)r   r   r9   r   rG   )r"   rH   r%   r%   r&   rI   M  s    
zSimpleQueue.getc          	   C   sV   t  j |  } |  j d  k r1 |  j j |  n! |  j  |  j j |  Wd  QRXd  S)N)r   ri   r   r   r7   )r"   rA   r%   r%   r&   rD   S  s
    
zSimpleQueue.putN)	rq   rr   rs   r'   rL   r)   r+   rI   rD   r%   r%   r%   r&   r   7  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"   (	
*