File: //lib64/python3.6/multiprocessing/__pycache__/queues.cpython-36.pyc
3
  \*  �               @   s�   d ddgZ ddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
 ddlZddlm
Z
 ddlmZ ejjZdd	lmZmZmZmZmZ G d
d � d e�Ze� ZG dd� de�ZG dd� de�ZdS )
�Queue�SimpleQueue�
JoinableQueue�    N)�Empty�Full�   )�
connection)�context)�debug�info�Finalize�register_after_fork�
is_exitingc               @   s�   e Zd Zd(dd�Zdd� Zdd� Zdd	� Zd)dd
�Zd*dd�Zdd� Z	dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zd d!� Zed"d#� �Zed$d%� �Zed&d'� �ZdS )+r   r   c            C   s�   |dkrddl m} || _tjdd�\| _| _|j� | _t	j
� | _tj
dkrTd | _n
|j� | _|j|�| _d| _| j�  tj
dkr�t| tj� d S )Nr   r   )�
SEM_VALUE_MAXF)�duplex�win32)Zsynchronizer   �_maxsizer   �Pipe�_reader�_writer�Lock�_rlock�os�getpid�_opid�sys�platform�_wlockZBoundedSemaphore�_sem�
_ignore_epipe�_after_forkr
   r   )�self�maxsize�ctx� r$   �./usr/lib64/python3.6/multiprocessing/queues.py�__init__$   s    
zQueue.__init__c             C   s.   t j| � | 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   |\| _ | _| _| _| _| _| _| _| j�  d S )N)	r   r   r   r   r   r   r   r   r    )r!   �stater$   r$   r%   �__setstate__>