
    !ni                     
   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		 e j                  e j                  hZd Z G d dej                        Zy# e$ r e j                  hZY -w xY w)	    N)patchersupport)hubselecttimec                  "    t        t        d      S )Nr   )hasattrr        U/home/homepc/tiktok-worker/venv/lib/python3.12/site-packages/eventlet/hubs/selects.pyis_availabler      s    68$$r   c                       e Zd Zd ZddZy)Hubc                 T   t        | j                  | j                           t        | j                  | j                           z   }|D ]  }	 t        j	                  |gg g d        y# t
        $ r6}t        j                  |      t        v r| j                  |       Y d}~Zd}~ww xY w)z_ Iterate through fds, removing the ones that are bad per the
        operating system.
        r   N)
list	listenersREADWRITEr   OSErrorr   	get_errnoBAD_SOCKremove_descriptor)selfall_fdsfdes       r   _remove_bad_fdszHub._remove_bad_fds   s     t~~dii01D

9S4TT 	/B/rdBA.	/  /$$Q'83**2./s   A((	B'1,B""B'Nc                    | j                   | j                     }| j                   | j                     }|s|s|rt        j	                  |       y t        |      }t        |      }||z   }	 t        j                  ||||      \  }}}	|	D ]`  }|j                  |t        j                         j#                  |       |j                  |t        j                         j#                  |       b ||f||ffD ]<  \  }}|D ]2  }	 |j                  |t        j                         j#                  |       4 > y # t        $ ra}
t        j                  |
      t        j                  k(  rY d }
~
y t        j                  |
      t        v r| j                          Y d }
~
y  d }
~
ww xY w# | j$                  $ r   | j'                  |t)        j*                                Y xY wN)r   r   r   r   sleepr   r   r   r   r   errnoEINTRr   r   getr   noopcbSYSTEM_EXCEPTIONSsquelch_exceptionsysexc_info)r   secondsreaderswriters
reader_fds
writer_fdsr   rwerr   filenor   eventss                 r   waitzHub.wait   s   ..+..,w

7#']
']
z)		}}ZWgNHAq"  	5FKK),,V4KK),,V4	5 $+A,!!= 	CIv  CCMM&#((366v>C	C  	  #u{{2""1%1$$&	" -- C**63<<>Bs0   +D4  /F!4	F=&F(+FFF!5Gr   )__name__
__module____qualname__r   r4   r
   r   r   r   r      s    
/ Cr   r   )r!   r(   eventletr   r   eventlet.hubsr   originalr   r   EBADFWSAENOTSOCKr   AttributeErrorr   BaseHubr   r
   r   r   <module>r?      s     
 % 			(	#wU../H
%-C#++ -C  }Hs   A- -BB