ó
¨œž[c           @` s   d  Z  d d l m Z m Z m Z d d l Z d d l Z d d l m Z m	 Z	 d „  Z
 d „  Z d e	 j f d „  ƒ  YZ d S(	   s9   Posix implementations of platform-specific functionality.i    (   t   absolute_importt   divisiont   print_functionN(   t   commont	   interfacec         C` s6   t  j  |  t  j ƒ } t  j  |  t  j | t  j Bƒ d  S(   N(   t   fcntlt   F_GETFDt   F_SETFDt
   FD_CLOEXEC(   t   fdt   flags(    (    s5   lib/python2.7/site-packages/tornado/platform/posix.pyt   set_close_exec   s    c         C` s6   t  j  |  t  j ƒ } t  j  |  t  j | t j Bƒ d  S(   N(   R   t   F_GETFLt   F_SETFLt   ost
   O_NONBLOCK(   R	   R
   (    (    s5   lib/python2.7/site-packages/tornado/platform/posix.pyt   _set_nonblocking   s    t   Wakerc           B` s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` sn   t  j ƒ  \ } } t | ƒ t | ƒ t | ƒ t | ƒ t  j | d d ƒ |  _ t  j | d d ƒ |  _ d  S(   Nt   rbi    t   wb(   R   t   pipeR   R   t   fdopent   readert   writer(   t   selft   rt   w(    (    s5   lib/python2.7/site-packages/tornado/platform/posix.pyt   __init__%   s    



c         C` s   |  j  j ƒ  S(   N(   R   t   fileno(   R   (    (    s5   lib/python2.7/site-packages/tornado/platform/posix.pyR   .   s    c         C` s   |  j  j ƒ  S(   N(   R   R   (   R   (    (    s5   lib/python2.7/site-packages/tornado/platform/posix.pyt   write_fileno1   s    c         C` s2   y |  j  j d ƒ Wn t t f k
 r- n Xd  S(   Nt   x(   R   t   writet   IOErrort
   ValueError(   R   (    (    s5   lib/python2.7/site-packages/tornado/platform/posix.pyt   wake4   s    c         C` sB   y* x# t  r( |  j j ƒ  } | s Pq q WWn t k
 r= n Xd  S(   N(   t   TrueR   t   readR    (   R   t   result(    (    s5   lib/python2.7/site-packages/tornado/platform/posix.pyt   consume:   s    	c         C` s!   |  j  j ƒ  t j |  j ƒ d  S(   N(   R   t   closeR   t	   try_closeR   (   R   (    (    s5   lib/python2.7/site-packages/tornado/platform/posix.pyR'   C   s    (   t   __name__t
   __module__R   R   R   R"   R&   R'   (    (    (    s5   lib/python2.7/site-packages/tornado/platform/posix.pyR   $   s   							(   t   __doc__t
   __future__R    R   R   R   R   t   tornado.platformR   R   R   R   R   (    (    (    s5   lib/python2.7/site-packages/tornado/platform/posix.pyt   <module>   s   		