B AFK @ s d ddgZ ddlZddlZddlZddlZddlZddlZddlZddlm Z m Z ddlZddlm Z ddlmZ ejjZdd lmZmZmZmZmZ G d d d eZe ZG dd deZG dd deZdS ) QueueSimpleQueue JoinableQueue N)EmptyFull ) connection)context)debuginfoFinalizeregister_after_fork is_exitingc @ s e Zd Zd*ddZdd Zdd Zdd Zd+dd Zd,ddZdd Z dd Z dd Zdd Zdd Z dd Zdd Zdd Zd d! Zed"d# Zed$d% Zed&d' Zed(d) ZdS )-r r c C s |dkrddl m} || _tjdd\| _| _| | _t | _tj dkrTd | _n | | _||| _d| _| tj dkrt| tj d S )Nr r ) SEM_VALUE_MAXF)duplexwin32)Zsynchronizer _maxsizer Pipe_reader_writerLock_rlockosgetpid_opidsysplatform_wlockZBoundedSemaphore_sem _ignore_epipe_after_forkr r )selfmaxsizectx r$ ;/opt/alt/python37/lib64/python3.7/multiprocessing/queues.py__init__$ s zQueue.__init__c C s. t | | j| j| j| j| j| j| j| j fS )N) r assert_spawningr r r r r r r r )r! r$ r$ r% __getstate__9 s zQueue.__getstate__c C s0 |\| _ | _| _| _| _| _| _| _| d S )N) r r r r r r r r r )r! stater$ r$ r% __setstate__> s $zQueue.__setstate__c C sb t d tt | _t | _d | _d | _ d| _ d| _d | _| j j| _| jj| _| jj| _d S )NzQueue._after_fork()F)r threading Conditionr _notemptycollectionsdeque_buffer_thread_jointhread_joincancelled_closed_closer send_bytes_send_bytesr recv_bytes_recv_bytespoll_poll)r! r$ r$ r% r C s zQueue._after_forkTNc C sP | j ||st| j. | jd kr,| | j| | j W d Q R X d S )N) r acquirer r- r1 _start_threadr0 appendnotify)r! objblocktimeoutr$ r$ r% putP s z Queue.putc C s |r2|d kr2| j | }W d Q R X | j nr|rBt | }| j ||sTtzB|rv|t }| |stn| st| }| j W d | j X t |S )N)r r9 r releasetimeZ monotonicr<