File: //proc/self/root/lib/python2.7/site-packages/rhn/nonblocking.pyo
�
��Qc           @   s   d  d l  Z  d  d l Z d  d l Z d d	 d �  �  YZ d �  Z e d k r� d  d l Z e j e j e j � Z	 e	 j
 d
 � e	 j �  Z e e � Z
 e j e j e j � Z e j
 d � e j �  Z e
 j e g g  g  d e � e
 j �  Z e e � GHn  d S(   i����Nt   NonBlockingFilec           B   s8   e  Z d  �  Z d �  Z d d � Z d �  Z d �  Z RS(   c         C   s\   | |  _  t j |  j  j �  t j t j � g  |  _ g  |  _ g  |  _ d  |  _
 d  |  _ d  S(   N(   t   fdt   fcntlt   filenot   F_SETFLt   ost   O_NDELAYt   read_fd_sett   write_fd_sett
   exc_fd_sett   Nonet	   user_datat   callback(   t   selfR   (    (    s3   /usr/lib/python2.7/site-packages/rhn/nonblocking.pyt   __init__   s    	"				c         C   sd   | |  _  x0 |  j  D]% } t j | j �  t j t j � q W| |  _ | |  _ | |  _ | |  _	 d  S(   N(
   R   R   R   R   R   R   R   R	   R   R   (   R
   R   R   R	   R   R   t   f(    (    s3   /usr/lib/python2.7/site-packages/rhn/nonblocking.pyt   set_callback   s    	#			i    c         C   s�   x� d } |  j  |  j g } |  j } |  j } d G| GHt j | | | � \ } } } d G| G| G| GH|  j | k r� d } | j |  j � n  |  j r� | s� | s� | r� |  j | | | |  j � n  | r Pq q d GH|  j j | � S(   Ni    s   Calling selects   Select returnedi   t	   Returning(	   R   R   R   R	   t   selectt   removeR   R   t   read(   R
   t   amtt   status_changedt   readfdst   writefdst   excfds(    (    s3   /usr/lib/python2.7/site-packages/rhn/nonblocking.pyR   "