
    ^f'                    X   d Z ddlm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/d0          Z+ eed1d          Z, eed2d          Z- eed3d+          Z. eed4d-          Z/ eed5d          Z0dxZ1Z2dxZ3Z4d6xZ5Z6	 ej7        ej8        hZ9n# e:$ r ej7        hZ9Y nw xY w G d7 d8          Z; G d9 d:          Z< G d; d<          Z= G d= d>          Z>d? Z?d@ Z@dS )AzSelector Utilities.    )annotationsN)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	   r3   selfs    E/var/www/html/env/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)r3   register	Exceptiongetattrr=   EEXIST)r7   fdeventsexcs       r8   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<   )
r3   
unregisterOSError
ValueErrorKeyError	TypeErrorr@   r=   ENOENTEPERMr7   rB   rD   s      r8   rF   z_epoll.unregisterH   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=   )r3   r   r?   r@   r=   EINTR)r7   timeoutrD   s      r8   r   z_epoll.pollQ   su    	;##w/BGGKKK 	 	 	sGT**ek99 :99999	s     
A AAc                8    | j                                          d S r5   )r3   closer6   s    r8   rR   z_epoll.closeX   s    r:   N)__name__
__module____qualname__r9   r>   rF   r   rR    r:   r8   r3   r3   ;   s_                    r:   r3   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 r5   )r
   rX   _activeon_file_changecontrol	_kcontrolr6   s    r8   r9   z_kqueue.__init__`   s,    xx"-r:   c                R    |                      ||t                     || j        |<   |S r5   )_controlr   rZ   r7   rB   rC   s      r8   r>   z_kqueue.registerf   s)    b&),,,!R	r:   c                    | j                             |d           }|r0	 |                     ||t                     d S # t          $ r Y d S w xY wd S r5   )rZ   popr_   r   rG   r`   s      r8   rF   z_kqueue.unregisterk   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]   r7   rB   evs      r8   
watch_filez_kqueue.watch_files   sK    B*#l2[@=* * * 	tQr:   c                x    t          |t          t          | j                  }|                     |gd           d S rd   )r   r   r   rh   r]   ri   s      r8   unwatch_filez_kqueue.unwatch_filez   sA    B*&=* * * 	tQr:   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)re   rf   r   )WRITEappendr   r   READr   r]   rH   )r7   rB   rC   rf   keventsr\   es          r8   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=   rO   identre   r   getrq   r   rf   r   ERRro   r   r   rg   r"   rF   rp   r[   listitems)r7   rP   rr   rD   rC   file_changeskrB   s           r8   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 r5   )rX   rR   r6   s    r8   rR   z_kqueue.close   s    r:   N)rS   rT   rU   r#   r$   r%   r"   rh   r9   r>   rF   rk   rm   r_   r   rR   rV   r:   r8   rX   rX   \   s        .!/0H. . .  
              &$ $ $6    r:   rX   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 r5   )xpoll_pollerr   _quick_pollr>   _quick_registerrF   _quick_unregisterr6   s    r8   r9   z_poll.__init__   s:    ww<,#|4!%!8r:   c                    t          |          }d}|t          z  r
|t          z  }|t          z  r
|t          z  }|t
          z  r
|t          z  }|                     ||           |S )Nr   )r   rw   r.   ro   r-   rq   r,   r   )r7   rB   rC   
poll_flagss       r8   r>   z_poll.register   so    BZZ
C< 	"'!JE> 	"'!JD= 	!& JR,,,	r:   c                    	 t          |          }n2# t          $ r%}t          |dd           t          v r|cY d }~S  d }~ww xY w|                     |           |S r<   )r   rG   r@   SELECT_BAD_FDr   rM   s      r8   rF   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   
_selecterrrG   r@   r=   rO   r0   r/   
isinstancer   rp   )r7   rP   roundr,   r-   r.   rq   ro   rw   r   
event_listrD   readyrB   eventrC   s                   r8   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 r5   )r   r6   s    r8   rR   z_poll.close   s    r:   N)rS   rT   rU   r9   r>   rF   mathceilr,   r-   r.   rq   ro   rw   r   r   rR   rV   r:   r8   r~   r~      s{        9 9 9
 
 

 
 
 #')GWex   4    r:   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 r5   )set_all_rfd_wfd_efdr6   s    r8   r9   z_select.__init__   s:     #&%%"5	6	  TYYYYYr:   c                    t          |          }|t          z  r| j                            |           |t          z  r| j                            |           |t          z  r| j                            |           |S r5   )r   rw   r   addro   r   rq   r   r`   s      r8   r>   z_select.register   sr    BZZC< 	IMM"E> 	IMM"D= 	IMM"	r:   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   rG   r@   r   rF   rM   s      r8   _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   rG   r@   r   r   discardr   r   rM   s      r8   rF   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   rG   r@   r=   rO   r   r   r   r   r   rv   rq   ro   rw   rx   ry   )r7   rP   readwriteerrorrD   rC   rB   s           r8   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 r5   )r   clearr   r   r6   s    r8   rR   z_select.close2  s>    			r:   N)	rS   rT   rU   r9   r>   r   rF   r   rR   rV   r:   r8   r   r      sn        6 6 6
  ( ( (  $ $ $6    r:   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	   r3   r
   sysplatformrX   r   r~   rV   r:   r8   _get_pollerr   8  sP    y((	 	 H,,	 r:   c                 *     t                      | i |S )zCreate new poller instance.)r   )argskwargss     r8   r   r   G  s    ;==$)&)))r:   )A__doc__
__future__r   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/   r0   rq   	POLL_READro   
POLL_WRITErw   POLL_ERREBADFWSAENOTSOCKr   AttributeErrorr3   rX   r~   r   r   r   rV   r:   r8   <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-