£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
3

  \                 @   s   d dl Z d dlZddlmZ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	gZG d
d deZG dd	 d	e	jZdS )    N   )	reductionset_spawning_popenz,No support for sending fds between processes)
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   8/usr/lib64/python3.6/multiprocessing/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                   sB   e Zd ZdZeZ fddZdd Zdd Ze	j
fdd	Z  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|  ztj|| tj|| W d td  X tj	| j
\| _}tj| tj| jf t|ddd}|j|j  W d Q R X tj| j| _d S )NwbT)closefd)r   Zget_preparation_data_nameioBytesIOr   r   dumpr   Zconnect_to_new_processr   sentinelr   ZFinalizeoscloseopenwrite	getbufferread_unsignedpid)r   r   Z	prep_dataZbufwfr   r   r   _launch)   s    
zPopen._launchc             C   sr   | j d krlddlm} |tjkr$dnd }|| jg|s:d S ytj| j| _ W n tt	fk
rj   d| _ Y nX | j S )Nr   )wait   )

returncodeZmultiprocessing.connectionr-   r#   WNOHANGr"   r   r(   OSErrorEOFError)r   flagr-   Ztimeoutr   r   r   poll9   s    
z
Popen.poll)r   r   r   methodr
   ZDupFdr   r   r,   r#   r0   r4   __classcell__r   r   )r   r   r	      s   )r   r#   contextr   r   ZHAVE_SEND_HANDLEImportError r   r   r   r   __all__objectr
   r	   r   r   r   r   <module>   s   
