<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]                 @   s   d  d l  Z  d  d l Z d d l m Z e j s= e d   d d l m Z d d l m Z d d l m Z d d l m	 Z	 d d	 l m
 Z
 d
 g Z Gd d   d e  Z Gd d
   d
 e j  Z d S)    N   )	reductionz,No support for sending fds between processes)context)
forkserver)
popen_fork)spawn)utilPopenc               @   s(   e  Z d  Z d d   Z d d   Z d S)_DupFdc             C   s   | |  _  d  S)N)ind)selfr    r   5/opt/alt/python35/lib64/python3.5/popen_forkserver.py__init__   s    z_DupFd.__init__c             C   s   t  j   |  j S)N)r   Zget_inherited_fdsr   )r   r   r   r   detach   s    z_DupFd.detachN)__name__
__module____qualname__r   r   r   r   r   r   r
      s   r
   c                   sX   e  Z d  Z d Z e Z   f d d   Z d d   Z d d   Z e	 j
 d d	  Z   S)
r	   r   c                s   g  |  _  t   j |  d  S)N)_fdssuperr   )r   process_obj)	__class__r   r   r   "   s    	zPopen.__init__c             C   s!   |  j  j |  t |  j   d S)Nr   )r   appendlen)r   fdr   r   r   duplicate_for_child&   s    zPopen.duplicate_for_childc             C   s   t  j | j  } t j   } t j |   z$ t j | |  t j | |  Wd  t j d   Xt	 j
 |  j  \ |  _ } t j |  t j |  j f  t | d d d  } | j | j    Wd  QRXt	 j |  j  |  _ d  S)NwbclosefdT)r   Zget_preparation_data_nameioBytesIOr   set_spawning_popenr   dumpr   Zconnect_to_new_processr   sentinelr   Finalizeoscloseopenwrite	getbufferread_unsignedpid)r   r   Z	prep_databufwfr   r   r   _launch*   s    zPopen._launchc             C   s   |  j  d  k r d d l m } | t j k r4 d n d  } | |  j g |  sS d  Sy t j |  j  |  _  Wn! t t	 f k
 r d |  _  Yn X|  j  S)Nr   )wait   )

returncodemultiprocessing.connectionr0   r%   WNOHANGr#   r   r*   OSErrorEOFError)r   flagr0   timeoutr   r   r   poll:   s    z
Popen.poll)r   r   r   methodr
   DupFdr   r   r/   r%   r4   r9   r   r   )r   r   r	      s   )r   r%    r   HAVE_SEND_HANDLEImportErrorr   r   r   r   r   __all__objectr
   r	   r   r   r   r   <module>   s   		
