
     h'                     L   d Z ddlZddlZddlZddlZddlmZ ddlm	Z	 ddl
mZ dZej        Zej        Z eedd          Z eed	d          Z eed
d          Z eedd          Z eedd          Z eedd          Z eedd          Z eedd          Z eedd          Z eedd          Z eedd          Z eedd          Z eedd          Z eedd          Z eedd           Z eed!d"          Z  eed#d$          Z! eed%d          Z" eed&d          Z# eed'd          Z$ eed(d          Z% eed)d*          Z& eed+d,          Z' eed-d          Z( eed.d/          Z) eed0d          Z* eed1d          Z+ eed2d*          Z, eed3d,          Z- eed4d          Z.dxZ/Z0dxZ1Z2d5xZ3Z4	 ej5        ej6        hZ7n# e8$ r ej5        hZ7Y nw xY w G d6 d7          Z9 G d8 d9          Z: G d: d;          Z; G d< d=          Z<d> Z=d? Z>dS )@zSelector Utilities.    N)Integral   )fileno)detect_environment)pollr   epollkqueuekevent	KQ_EV_ADDKQ_EV_DELETE   KQ_EV_ENABLE   KQ_EV_CLEAR    KQ_EV_ERRORi @  	KQ_EV_EOFi   KQ_FILTER_READKQ_FILTER_WRITEKQ_FILTER_AIOKQ_FILTER_VNODEKQ_FILTER_PROCKQ_FILTER_SIGNALiKQ_FILTER_TIMERiKQ_NOTE_LOWATKQ_NOTE_DELETEKQ_NOTE_WRITEKQ_NOTE_EXTENDKQ_NOTE_ATTRIB   KQ_NOTE_LINK   KQ_NOTE_RENAMEKQ_NOTE_REVOKE@   POLLINPOLLOUTPOLLERRPOLLHUPPOLLNVAL   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )_epollc                 ,    t                      | _        d S N)r   r2   selfs    O/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/kombu/utils/eventio.py__init__z_epoll.__init__;   s    gg    c                     	 | j                             ||           n7# t          $ r*}t          |dd           t          j        k    r Y d }~nd }~ww xY w|S Nerrno)r2   register	Exceptiongetattrr<   EEXIST)r6   fdeventsexcs       r7   r=   z_epoll.register>   su    	K  V,,,, 	 	 	sGT**el:: ;::::	 	s    
A AAc                     	 | j                             |           d S # t          t          t          t
          f$ r Y d S t          $ r5}t          |dd           t          j        t          j	        fvr Y d }~d S d }~ww xY wr;   )
r2   
unregisterOSError
ValueErrorKeyError	TypeErrorr?   r<   ENOENTEPERMr6   rA   rC   s      r7   rE   z_epoll.unregisterF   s    	K""2&&&&&Xy9 	 	 	DD 	 	 	sGT**5<2MMM NMMMMM	s    A<	A<*A77A<c                     	 | j                             ||nd          S # t          $ r+}t          |dd           t          j        k    r Y d }~d S d }~ww xY w)Nr   r<   )r2   r   r>   r?   r<   EINTR)r6   timeoutrC   s      r7   r   z_epoll.pollO   su    	;##w/BGGKKK 	 	 	sGT**ek99 :99999	s     
A AAc                 8    | j                                          d S r4   )r2   closer5   s    r7   rQ   z_epoll.closeV   s    r9   N)__name__
__module____qualname__r8   r=   rE   r   rQ    r9   r7   r2   r2   9   s_                    r9   r2   c                   T    e Zd Zeez  ez  ez  Zd Zd Z	d Z
d Zd Zd Zd Zd Zd	S )
_kqueuec                 j    t                      | _        i | _        d | _        | j        j        | _        d S r4   )r	   rW   _activeon_file_changecontrol	_kcontrolr5   s    r7   r8   z_kqueue.__init__^   s,    xx"-r9   c                 R    |                      ||t                     || j        |<   |S r4   )_controlr   rY   r6   rA   rB   s      r7   r=   z_kqueue.registerd   s)    b&),,,!R	r9   c                     | j                             |d           }|r0	 |                     ||t                     d S # t          $ r Y d S w xY wd S r4   )rY   popr^   r   rF   r_   s      r7   rE   z_kqueue.unregisteri   sn    !!"d++ 	b&,77777   	 	s   = 
A
Ac                     t          |t          t          t          z  t          z  | j                  }|                     |gd           d S N)filterflagsfflagsr   )r
   r   r   r   r   w_fflagsr\   r6   rA   evs      r7   
watch_filez_kqueue.watch_fileq   sK    B*#l2[@=* * * 	tQr9   c                 x    t          |t          t          | j                  }|                     |gd           d S rc   )r
   r   r   rg   r\   rh   s      r7   unwatch_filez_kqueue.unwatch_filex   sA    B*&=* * * 	tQr9   c                 :   |sd S g }|t           z  r*|                    t          |t          |                     |r
|t          z  r*|                    t          |t
          |                     | j        }|D ] }	  ||gd           # t          $ r Y w xY wd S )N)rd   re   r   )WRITEappendr
   r   READr   r\   rG   )r6   rA   rB   re   keventsr[   es          r7   r^   z_kqueue._control   s     	FE> 	0NN6")8(-/ / / 0 0 0  	&4- 	NNr.>>>   . 	 	AQ   	 	s   =B
BBc                 *   	 |                      d d|          }n8# t          $ r+}t          |dd           t          j        k    rY d }~d S  d }~ww xY wi g }}|D ]}|j        }|j        t          k    r"|                    |d          t          z  ||<   <|j        t          k    r<|j        t          z  rt          ||<   f|                    |d          t          z  ||<   |j        t          k    r"|                    |d          t          z  ||<   |j        t           k    r9|j        t$          z  r|                     |           |                    |           |r|                     |           t-          |                                          S )Ni  r<   r   )r\   r>   r?   r<   rN   identrd   r   getrp   r   re   r   ERRrn   r   r   rf   r!   rE   ro   rZ   listitems)r6   rO   rq   rC   rB   file_changeskrA   s           r7   r   z_kqueue.poll   s   	nnT499GG 	 	 	sGT**ek99	  "2 	' 	'ABx>))#ZZA..5r

_,,7Y& ;!$F2JJ!'B!2!2U!:F2JJ[((#ZZA..4r

_,,8n, (OOB'''##A&&& 	.---FLLNN###s    
AA
	A

Ac                 8    | j                                          d S r4   )rW   rQ   r5   s    r7   rQ   z_kqueue.close   s    r9   N)rR   rS   rT   r"   r#   r$   r!   rg   r8   r=   rE   rj   rl   r^   r   rQ   rU   r9   r7   rW   rW   Z   s        .!/0H. . .  
              &$ $ $6    r9   rW   c                   H    e Zd Zd Zd Zd Zej        ee	e
eeeefdZd ZdS )_pollc                     t                      | _        | j        j        | _        | j        j        | _        | j        j        | _        d S r4   )xpoll_pollerr   _quick_pollr=   _quick_registerrE   _quick_unregisterr5   s    r7   r8   z_poll.__init__   s:    ww<,#|4!%!8r9   c                     t          |          }d}|t          z  r
|t          z  }|t          z  r
|t          z  }|t
          z  r
|t          z  }|                     ||           |S )Nr   )r   rv   r-   rn   r,   rp   r+   r   )r6   rA   rB   
poll_flagss       r7   r=   z_poll.register   so    BZZ
C< 	"'!JE> 	"'!JD= 	!& JR,,,	r9   c                     	 t          |          }n2# t          $ r%}t          |dd           t          v r|cY d }~S  d }~ww xY w|                     |           |S r;   )r   rF   r?   SELECT_BAD_FDr   rL   s      r7   rE   z_poll.unregister   sy    	BB 	 	 	 sGT**m;;							 	r"""	s    
A<A<Ac
                    |r|dk     rdn ||pddz            }	 |                      |          }
n?# t          t          f$ r+}t          |dd           t          j        k    rY d }~d S  d }~ww xY wg }|
D ]x\  }}d}||z  r||z  }||z  r||z  }||z  s|t          z  s
|t          z  r||z  }|sJ t          ||	          s|	                                }|
                    ||f           y|S )Nr   g     @@r<   )r   
_selecterrrF   r?   r<   rN   r/   r.   
isinstancer   ro   )r6   rO   roundr+   r,   r-   rp   rn   rv   r   
event_listrC   readyrA   eventrB   s                   r7   r   z
_poll.poll   sO    O7Q;;!!EE7<a3:N4O4O	))'22JJG$ 	 	 	sGT**ek99	
 # 	' 	'IBFv~ $w  %w %("2 ego #MM6b(++ !YY[[LL"f&&&&s   2 A.A)(A))A.c                     d | _         d S r4   )r   r5   s    r7   rQ   z_poll.close   s    r9   N)rR   rS   rT   r8   r=   rE   mathceilr+   r,   r-   rp   rn   rv   r   r   rQ   rU   r9   r7   r}   r}      s{        9 9 9
 
 

 
 
 #')GWex   4    r9   r}   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )_selectc                     t                      t                      t                      fx| _        \  | _        | _        | _        d S r4   )set_all_rfd_wfd_efdr5   s    r7   r8   z_select.__init__   s:     #&%%"5	6	  TYYYYYr9   c                     t          |          }|t          z  r| j                            |           |t          z  r| j                            |           |t          z  r| j                            |           |S r4   )r   rv   r   addrn   r   rp   r   r_   s      r7   r=   z_select.register   sr    BZZC< 	IMM"E> 	IMM"D= 	IMM"	r9   c                     | j         | j        z  | j        z  D ]a}	 t          |gg g d           # t          t
          f$ r7}t          |dd           t          v r|                     |           Y d }~Zd }~ww xY wd S )Nr   r<   )	r   r   r   _selectfr   rF   r?   r   rE   rL   s      r7   _remove_badz_select._remove_bad   s    )di'$)3 	( 	(B("r2q))))( ( ( (3..-??OOB'''(	( 	(s   /A7 -A22A7c                 &   	 t          |          }n1# t          $ r$}t          |dd           t          v rY d }~d S  d }~ww xY w| j                            |           | j                            |           | j                            |           d S r;   )r   rF   r?   r   r   discardr   r   rL   s      r7   rE   z_select.unregister  s    	BB 	 	 	 sGT**m;;	 		"	"	"s    
A ;;A c                 P   	 t          | j        | j        | j        |          \  }}}np# t          t
          f$ r\}t          |dd           t          j        k    rY d }~d S t          |dd           t          v r| 
                                cY d }~S  d }~ww xY wi }|D ]L}t          |t                    s|                                }|                    |d          t          z  ||<   M|D ]L}t          |t                    s|                                }|                    |d          t           z  ||<   M|D ]L}t          |t                    s|                                }|                    |d          t"          z  ||<   Mt%          |                                          S )Nr<   r   )r   r   r   r   r   rF   r?   r<   rN   r   r   r   r   r   ru   rp   rn   rv   rw   rx   )r6   rO   readwriteerrorrC   rB   rA   s           r7   r   z_select.poll  s   		!)	49di" "D% G$ 	 	 	sGT**ek99gt,,==''))))))))	  	2 	2Bb(++ !YY[[B**T1F2JJ 	3 	3Bb(++ !YY[[B**U2F2JJ 	1 	1Bb(++ !YY[[B**S0F2JJFLLNN###s&   %( BB+B	BBBc                     | j                                          | j                                         | j                                         d S r4   )r   clearr   r   r5   s    r7   rQ   z_select.close0  s>    			r9   N)	rR   rS   rT   r8   r=   r   rE   r   rQ   rU   r9   r7   r   r      sn        6 6 6
  ( ( (  $ $ $6    r9   r   c                      t                      dk    rt          S t          rt          S t          rdt
          j        v rt          S t          rt          S t          S )Ndefaultnetbsd)
r   r   r   r2   r	   sysplatformrW   r   r}   rU   r9   r7   _get_pollerr   6  sP    y((	 	 H,,	 r9   c                  *     t                      | i |S )zCreate new poller instance.)r   )argskwargss     r7   r   r   E  s    ;==$)&)))r9   )?__doc__r<   r   select
__select__r   numbersr    r   compatr   __all__r   r   r   r?   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r&   r(   r)   r+   r,   r-   r.   r/   rp   	POLL_READrn   
POLL_WRITErv   POLL_ERREBADFWSAENOTSOCKr   AttributeErrorr2   rW   r}   r   r   r   rU   r9   r7   <module>r      s           



             & & & & & &


FD))
GT**	Xt	,	,	Xt	,	,GJQ//	wz>155wz>155gj-44gj-77GJU33	%5r::'*&7<<
OR88'*&7<<%5r::7:'92>> '*&7<<
OQ77%5q99
OQ77%5q99%5q99wz>266%5r::%5r::	Xq	)	)
'*i
+
+
'*i
+
+
'*i
,
,7:z2.. y 
 h"[%"34MM " " "[MMMM"       BT T T T T T T Tn; ; ; ; ; ; ; ;|D D D D D D D DN  * * * * *s   G G'&G'