ó
úR‹_c           @   s‰  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z e j j ƒ  d Z g  Z	 d „  Z
 d  d l Z e e d ƒ r€e j e j ƒ e j k sš t ‚ e j e j e
 ƒ e j e j ƒ Z e j e j ƒ e
 k sã t e ƒ ‚ e e d ƒ rd „  Z e j e f Z n e j f Z xTe D]LZ e g Z	 e ƒ  Z e s[e j d ƒ e j d ƒ q e j d ƒ Z zô y¶ x e	 r‰e j d	 ƒ qsWe j d  e j ƒ \ Z Z e e k rÉe d
 e e e ƒ ‚ n  y+ e j d  e j ƒ \ Z Z e d ƒ ‚ Wn+ e k
 r!Z  e  j  e  j! k s"t ‚ n XWn7 e j k
 r\Z" e e" k	 rJ‚  n  e d e ƒ ‚ n XWd e j# ƒ  Xq We j d ƒ n d GHd S(   iÿÿÿÿNc          G   s$   t  j ƒ  t j ƒ  t d ƒ ‚ d  S(   Ns"   This should be ignored but printed(   t   geventt   sleept   awaiting_childt   popt	   TypeError(   t   _args(    (    sZ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__monkey_sigchld.pyt   handle_sigchld   s    

t   SIGCHLDt   forkptyc           C   s   t  j ƒ  d S(   Ni    (   t   osR   (    (    (    sZ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__monkey_sigchld.pyR      s    g333333Ó?i    i   g{®Gáz„?s4   Failed to wait on a child pid forked with a functions    Should not be able to wait agains   Failed to wait usings   No SIGCHLD, not testing($   t   errnoR	   t   sysR    t   gevent.monkeyt   monkeyt	   patch_allt   Nonet   pidR   R   t   signalt   hasattrt	   getsignalR   t   SIG_DFLt   AssertionErrort   handlerR   t   forkt   funcst   funct   TrueR   t   exitt   Timeoutt   timeoutt   waitpidt   WNOHANGt   wpidt   statust   OSErrort   et   ECHILDt   tt   close(    (    (    sZ   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__monkey_sigchld.pyt   <module>   sZ   	!$			 	 