3
Z_ð]  ã               @   sP   d dl Z d dlmZmZ d dlmZmZ ejdƒZdd„ Z	G dd„ dej
ƒZ
dS )	é    N)ÚpatcherÚsupport)ÚhubÚpollÚselectc               C   s
   t tdƒS )NÚepoll)Úhasattrr   © r	   r	   ú8/tmp/pip-build-yz_zf6az/eventlet/eventlet/hubs/epolls.pyÚis_available   s    r   c                   s.   e Zd Zd‡ fdd„	Zdd„ Zdd„ Z‡  ZS )	ÚHubNc                s    t t| ƒj|d� tjƒ | _d S )N)Úclock)Úsuperr   Ú__init__r   r   r   )Úselfr   )Ú	__class__r	   r
   r      s    zHub.__init__c       	      C   sŒ   t | j| j j|ƒp$| j| j j|ƒƒ}tjj| |||||ƒ}y| j|| d� W n4 t	k
r† } zt
j|ƒtjkrv‚ W Y d d }~X nX |S )N)Únew)ÚboolZ	listenersÚREADÚgetÚWRITEr   ZBaseHubÚaddÚregisterÚIOErrorr   Ú	get_errnoÚerrnoÚEEXIST)	r   ZevtypeÚfilenoÚcbÚtbÚmacZoldlistenersZlistenerÚexr	   r	   r
   r      s    zHub.addc             C   s   | j j |ƒS )N)r   )r   Úsecondsr	   r	   r
   Údo_poll   s    zHub.do_poll)N)Ú__name__Ú
__module__Ú__qualname__r   r   r#   Ú__classcell__r	   r	   )r   r
   r      s   r   )r   Zeventletr   r   Zeventlet.hubsr   r   Úoriginalr   r   r   r	   r	   r	   r
   Ú<module>   s
   
