Mini Shell
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"