File: //lib64/python3.9/multiprocessing/__pycache__/resource_sharer.cpython-39.opt-2.pyc
a
    �DOg  �                   @   s�   d dl Z d dlZd dlZd dlZd dlZddlmZ ddlmZ ddlm	Z	 dgZ
ejdkrxe
dg7 Z
G d	d� de�Z
ne
d
g7 Z
G dd
� d
e�ZG dd
� d
e�Ze� ZejZdS )�    N�   )�process)�	reduction)�util�stop�win32�	DupSocketc                   @   s   e Zd Zdd� Zdd� ZdS )r   c                    s(   |� � � � fdd�}t�|� j�| _d S )Nc                    s   � � |�}| �|� d S �N)�share�
send_bytes)�conn�pidr
   �Znew_sock� �7/usr/lib64/python3.9/multiprocessing/resource_sharer.py�send   s    
z DupSocket.__init__.<locals>.send)�dup�_resource_sharer�register�close�_id)�self�sockr   r   r   r   �__init__   s    zDupSocket.__init__c                 C   sB   t �| j��"}|�� }t�|�W  d   � S 1 s40    Y  d S r	   )r   �get_connectionr   �
recv_bytes�socketZ	fromshare)r   r   r
   r   r   r   �detach$   s    zDupSocket.detachN��__name__�
__module__�__qualname__r   r   r   r   r   r   r      s   �DupFdc                   @   s   e Zd Zdd� Zdd� ZdS )r"