Your IP : 3.133.148.222
U
i�f� � @ 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�stopZwin32� DupSocketc @ s e Zd Zdd� Zdd� ZdS )r c s( |� � � � fdd�}t�|� j�| _d S )Nc s � � |�}| �|� d S �N)�shareZ
send_bytes)�conn�pidr �Znew_sock� �D/opt/alt/python38/lib64/python3.8/multiprocessing/resource_sharer.py�send s
z DupSocket.__init__.<locals>.send)�dup�_resource_sharer�register�close�_id)�selfZsockr r
r r �__init__ s zDupSocket.__init__c
C s6 t �| j�� }|�� }t�|�W 5 Q R � S Q R X d S r )r �get_connectionr Z
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 c s4 t �|�� � fdd�}� fdd�}t�||�| _d S )Nc s t �| � |� d S r )r Zsend_handle)r
r �Znew_fdr
r r 1 s zDupFd.__init__.<locals>.sendc s t �� � d S r )�osr r
r r
r r 3 s zDupFd.__init__.<locals>.close)r r r r r )r �fdr r r
r r r / s
zDupFd.__init__c
C s. t �| j��}t�|�W 5 Q R � S Q R X d S r )r r r r Zrecv_handle)r r
r
r
r r 7 s zDupFd.detachNr r
r
r
r r - s c @ sJ e Zd Zdd� Zdd� Zedd� �Zddd �Zd
d� Zdd
� Z dd� Z
dS )�_ResourceSharerc C s@ d| _ i | _g | _t�� | _d | _d | _d | _t �
| tj� d S )Nr )
�_key�_cache�
_old_locks� threading�Lock�_lock� _listener�_address�_threadr Zregister_after_forkr"