File: //lib64/python3.9/multiprocessing/__pycache__/queues.cpython-39.opt-2.pyc
a
    �DOg�.  �                   @   s�   g d �Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
mZ ddlZddl
mZ ddl
mZ ejjZddlmZmZmZmZmZ G dd	� d	e�Ze� ZG d
d� de�ZG dd
� d
e�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�Zd0dd�Z	dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd � Zd!d"� Zd#d$� Zed%d&� �Zed'd(� �Zed)d*� �Zed+d,� �ZdS )1r   r   c                C   s�   |dkrddl m} || _tjdd�\| _| _|�� | _t	�
� | _tj
dkrTd | _n
|�� | _|�|�| _d| _| ��  tj
dkr�t| tj� d S )Nr   r   )�
SEM_VALUE_MAXF��duplex�win32)�synchronizer   �_maxsizer   �Pipe�_reader�_writer�Lock�_rlock�os�getpid�_opid�sys�platform�_wlock�BoundedSemaphore�_sem�
_ignore_epipe�_resetr
   r   �_after_fork��self�maxsize�ctx� r)   �./usr/lib64/python3.9/multiprocessing/queues.py�__init__%   s    
zQueue.__init__c                 C   s.   t �| � | j| j| j| j| j| j| j| j	fS �N)
r	   �assert_spawningr"