Hacked By AnonymousFox
B
� f� � @ s� d dl Z d dlZddlmZmZ ejs.ed��ddlmZ ddlm Z ddlm
Z
ddlmZ d gZG d
d� de
�ZG dd � d e j�ZdS )
� N� )� reduction�set_spawning_popenz,No support for sending fds between processes)�
forkserver)�
popen_fork)�spawn)�util�Popenc @ s e Zd Zdd� Zdd� ZdS )�_DupFdc C s
|| _ d S )N)�ind)�selfr � r
�E/opt/alt/python37/lib64/python3.7/multiprocessing/popen_forkserver.py�__init__ s z_DupFd.__init__c C s t �� | j S )N)r Zget_inherited_fdsr )r r
r
r �detach s z
_DupFd.detachN)�__name__�
__module__�__qualname__r r r
r
r
r r
s r
c sB e Zd ZdZeZ� fdd�Zdd� Zdd� Ze j
fdd �Z� ZS )
r r c s g | _ t� �|� d S )N)�_fds�superr )r �process_obj)� __class__r
r r ! s zPopen.__init__c C s | j �|� t| j �d S )Nr )r �append�len)r �fdr
r
r �duplicate_for_child% s zPopen.duplicate_for_childc C s� t �|j�}t�� }t| � zt�||� t�||� W d td � X t� | j
�\| _}t�
| tj| jf�| _t|ddd��}|�|�� � W d Q R X t�| j�| _d S )N�wbT)�closefd)r Zget_preparation_data�_name�io�BytesIOr r �dumpr Zconnect_to_new_processr �sentinelr ZFinalize�os�close� finalizer�open�write� getbuffer�read_signed�pid)r r Z prep_dataZbuf�w�fr
r
r �_launch) s
z
Popen._launchc C sr | j d krlddlm} |tjkr$dnd }|| jg|�s:d S yt�| j�| _ W n tt fk
rj d| _ Y nX | j S )Nr )�wait� )
�
returncodeZmultiprocessing.connectionr. r# �WNOHANGr"