£Á°è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

  \p                 @   sp   d dl Z d dlZddlmZ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_popen)
popen_fork)spawn)utilPopenc               @   s   e Zd Zdd Zdd ZdS )_DupFdc             C   s
   || _ d S )N)fd)selfr
    r   9/usr/lib64/python3.6/multiprocessing/popen_spawn_posix.py__init__   s    z_DupFd.__init__c             C   s   | j S )N)r
   )r   r   r   r   detach   s    z_DupFd.detachN)__name__
__module____qualname__r   r   r   r   r   r   r	      s   r	   c                   s4   e Zd ZdZeZ fddZdd Z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| |S )N)r   append)r   r
   r   r   r   duplicate_for_child"   s    zPopen.duplicate_for_childc             C   s@  ddl m} |j }| jj| tj|j}tj	 }t
|  ztj|| tj|| W d t
d  X d  } } }}	z~tj \}}tj \}}	tj||d}
| jj||g tjtj |
| j| _|| _t|	ddd}|j|j  W d Q R X W d |d k	rtj| tj|f x(|||	fD ]}|d k	rtj| qW X d S )Nr   )semaphore_tracker)
tracker_fdZpipe_handlewbF)closefd) r   Zgetfdr   r   r   Zget_preparation_data_nameioBytesIOr   r   dumpospipeZget_command_lineextendr   Zspawnv_passfdsZget_executablepidsentinelopenwrite	getbufferZFinalizeclose)r   r   r   r   Z	prep_datafpZparent_rZchild_wZchild_rZparent_wcmdfr
   r   r   r   _launch&   s6    



zPopen._launch)
r   r   r   methodr	   ZDupFdr   r   r.   __classcell__r   r   )r   r   r      s
   )r   r"   contextr   r   r   r   r   r   __all__objectr	   r   r   r   r   r   <module>   s   
