
CrSc           @   s;   d  Z  d d l Z d d l Z d e j f d     YZ d S(   s   
subprocess4.py

thsi module defines a superclass of the Popen module.  If defines a wait4 methos
for Popen.  



import subprocess4

h = subprocess4.Popen(["/bin/ls", "tmp.my"])
print h.wait4()
iNt   Popenc           B   s   e  Z d    Z d   Z RS(   c         K   s#   d  |  _ t j j |  | |  d  S(   N(   t   Nonet   rusaget
   subprocessR    t   __init__(   t   selft   argst   kwargs(    (    s%   /Users/donaldpetravick/subprocess4.pyR      s    	c         C   s   x |  j  d k r y+ t j |  j d  \ } } } | |  _ Wn: t k
 ry } | j t j k rg   n  |  j } d } n X| |  j k r |  j	 |  n  |  j  SWd S(   s   Wait for child process to terminate.  Returns returncode                                                            
          attribute.i    N(
   t
   returncodeR   t   ost   wait4t   pidR   t   OSErrort   errnot   ECHILDt   _handle_exitstatus(   R   R   t   stsR   t   e(    (    s%   /Users/donaldpetravick/subprocess4.pyt   wait   s    	
(   t   __name__t
   __module__R   R   (    (    (    s%   /Users/donaldpetravick/subprocess4.pyR       s   	(   t   __doc__R   R	   R    (    (    (    s%   /Users/donaldpetravick/subprocess4.pyt   <module>   s   