
    Ph                         d dl Z d dlZd dlmZmZ d dlmZ  ej                  d      Z ej                  d      Z	d Z
 G d dej                        Zy)	    N)patchersupport)hubselecttimec                  "    t        t        d      S )Npoll)hasattrr        ]C:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\eventlet/hubs/poll.pyis_availabler   
   s    66""r   c                   T     e Zd Zd fd	Z fdZ fdZd	dZ fdZd ZddZ	 xZ
S )
Hubc                     t         t        |   |       t        j                  t        j
                  z  | _        t        j                  t        j                  z  | _	        t        j                  | _        t        j                         | _        y N)superr   __init__r   POLLERRPOLLHUPEXC_MASKPOLLINPOLLPRI	READ_MASKPOLLOUT
WRITE_MASKr	   )selfclock	__class__s     r   r   zHub.__init__   sR    c4!%(77 ..KKM	r   c                 \    t         t        |   |||||      }| j                  |d       |S )NT)new)r   r   addregister)r   evtypefilenocbtbmaclistenerr   s          r   r"   zHub.add   s1    d'BDf$'r   c                 b    t         t        |   |       | j                  |j                         y r   )r   r   remover#   r%   )r   r)   r   s     r   r+   z
Hub.remove   s"    c4)hoo&r   c                    d}| j                   | j                     j                  |      r|| j                  | j                  z  z  }| j                   | j
                     j                  |      r|| j                  | j                  z  z  }	 |r=|r| j                  j                  ||       y 	 | j                  j                  ||       y 	 | j                  j                  |       y # t        t        f$ r | j                  j                  ||       Y y w xY w# t        t        t        f$ r Y y w xY w# t        $ r | j                  |        w xY w)Nr   )	listenersREADgetr   r   WRITEr   r	   r#   modifyIOErrorOSError
unregisterKeyError
ValueErrorremove_descriptor)r   r%   r!   masks       r   r#   zHub.register   s!   >>$))$((0DNNT]]22D>>$**%))&1DOOdmm33D	II&&vt49		((6II((0	 $W- 9		**6489
 !'73    	""6*	sH    D3 .C( D (+DD3 DD3 D0-D3 /D00D3 3Ec                     t         t        |   |       	 | j                  j	                  |       y # t
        t        t        t        f$ r Y y w xY wr   )	r   r   r7   r	   r4   r5   r6   r2   r3   )r   r%   r   s     r   r7   zHub.remove_descriptor:   sF    c4*62	II  (*gw7 	 	s   2 AAc                 P    | j                   j                  t        |dz              S )Ng     @@)r	   int)r   secondss     r   do_pollzHub.do_pollC   s    yy~~c'F"2344r   c                    | j                   | j                     }| j                   | j                     }|s|s|rt        j	                  |       y 	 | j                  |      }| j                  }| j                  r| j                          t!               }t"        j$                  }|D ]  \  }	}
|
| j&                  z  r#|j)                  |j+                  |	|      |	f       |
| j,                  z  r#|j)                  |j+                  |	|      |	f       |
t        j.                  z  r| j1                  |	       |
| j2                  z  s|j)                  |j+                  |	|      |	f       |j)                  |j+                  |	|      |	f        |D ]  \  }}		 |j5                  |	        | j                  r| j?                          y y # t        t        j                  f$ r1}t        j                  |      t        j                  k(  rY d }~y  d }~ww xY w# |$ r   | j7                  |	t9        j:                                t        j<                          Y xY wr   ) r-   r.   r0   r   sleepr=   r2   r   errorr   	get_errnoerrnoEINTRSYSTEM_EXCEPTIONSdebug_blockingblock_detect_presetr   noopr   r"   r/   r   POLLNVALr7   r   r&   squelch_exceptionsysexc_infoclear_sys_exc_infoblock_detect_post)r   r<   readerswriterspresulterD   	callbacksrH   r%   eventr)   s               r   waitzHub.waitG   s   ..+..,w

7#	ll7+G
 !22!!# E	xx$MFEt~~%w{{648&ABt&w{{648&ABv&&&v.t}}$w{{648&ABw{{648&AB % !*Hf-F# !* ""$ K & 	  #u{{2	> % -&&vs||~>**,s*   G HH&H
HH?Ir   )F)__name__
__module____qualname__r   r"   r+   r#   r7   r=   rU   __classcell__)r   s   @r   r   r      s&    "
'650%r   r   )rB   rK   eventletr   r   eventlet.hubsr   originalr   r   r   BaseHubr   r   r   r   <module>r^      sL     
 % 			(	#w#i%#++ i%r   