
    i                     n   d dl Z d dlZd dlmZ d dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
 g dZdefde	fd	e
fgZd d
lmZ e                    def            ej        d e            geR    ej        d          Zej                            de          Zej        dk    Z eedd           G d de          Znej        Z G d dej                  Zd Z eej                  Z eej                  Z eed          r%e                    d            eej                   Z [ej!        Z![dS )    N)FunctionType)greenio)patcher)select	threadingtime)call
check_callPopenr   r   r   )	selectorsr   
subprocesswin32TimeoutExpiredc                        e Zd ZdZddZd ZdS )r   zeThis exception is raised when the timeout expires while waiting for
        a child process.
        Nc                 0    || _         || _        || _        d S N)cmdtimeoutoutput)selfr   r   r   s       D/usr/local/lib/python3.11/dist-packages/eventlet/green/subprocess.py__init__zTimeoutExpired.__init__   s    DH"DL DKKK    c                 (    d| j         d| j        dS )Nz	Command 'z' timed out after z seconds)r   r   )r   s    r   __str__zTimeoutExpired.__str__$   s     XXXt|||- .r   r   )__name__
__module____qualname____doc__r   r    r   r   r   r      sA        	 		! 	! 	! 	!
	. 	. 	. 	. 	.r   c                   r   e Zd ZdZesddZej        j        j        e_        ddZej        j        j        e_        esx e	ej        j
        j         e                      Z
	  e	ej        j        j         e                      Z e	ej        j        j         e                      ZdS # e$ r Y dS w xY wdS )	r   z-eventlet-friendly version of subprocess.Popenr   c                    || _         t          j        j        | |dg|R i | dD ]}t	          | |          }|t          |          t          j        k    rtt	          |dd          }|s:|                                r|dz  }|	                                r|dz  }|dk    rd}t          j        |||          }t          | ||           d S )Nr   )stdinstdoutstderrmode rw)argssubprocess_origr   r   getattrtyper   	GreenPipereadablewritablesetattr)	r   r+   bufsizeargsskwdsattrpiper&   wrapped_pipes	            r   r   zPopen.__init__5   s    DI!*4qI5IIIDIII 4 6 6tT**#T

g6G(G(G #444D )==?? ( CKD==?? ( CKD"a<<&(G#*#4T4#I#ILD$5556 6r   N{Gz?c                 H   |t          j                     |z   }	 	 |                                 }||S |,t          j                     |k    rt          | j        |          t	          j        |           [# t          $ r!}|j        t          j        k    rY d }~dS  d }~ww xY w)NTr*   )	r   pollr   r+   eventletsleepOSErrorerrnoECHILD)r   r   check_intervalendtimestatuses         r   waitz
Popen.waitM   s     ikkG+G	/%!M&49;;+@+@(G<<<~.../  	 	 	w%,&& rrrrr	s#   A6 AA6 6
B! BBB!)r   )Nr9   )r   r   r   r   	mswindowsr   r,   r   rE   r   _communicate__code__globals_communicate_with_select_communicate_with_pollAttributeErrorr    r   r   r   r   ,   s!       77  B	6 	6 	6 	6, +09A   ( #(-5DL  $|!.7GII 	'3|%>G		( ($ &2\%<E		& &"""  	 	 	DD	 s   #AB+ +B43B4r   c                 x    t          | j        t                                }| j        |_        | j        |_        |S r   )r   rH   rI   __kwdefaults____defaults__)functionnew_functions     r   patched_functionrR   w   s4     1799==L"*"9L ( 5Lr   check_output)"r?   systypesr   r<   r   r   eventlet.greenr   r   r   __patched__to_patchr   appendinjectrI   originalr,   modulesgetsubprocess_importedplatformrF   r-   	Exceptionr   r   rR   r	   r
   hasattrrS   CalledProcessErrorr    r   r   <module>rc      s*    



                    2 2 2 2 2 2 2 2 2 2 .--vi 864.I $ $ $ $ $ $ i( ) ) ) |WWYY 2 2 2 2 2"'"<00koolODD LG#	 7?,d33;. . . . . . . . . )7NF F F F FO! F F FV   ,--o899

7?N++ B~&&&##O$@AAL ); r   