
    Ih'                       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jn                  ejp                  hZ9 G d7 d8      Z; G d9 d:      Z< G d; d<      Z= G d= d>      Z>d? Z?d@ Z@y# e:$ r ejn                  hZ9Y Cw xY w)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y)_epollc                "    t               | _        y N)r	   r3   selfs    L/var/www/html/planif/env/lib/python3.12/site-packages/kombu/utils/eventio.py__init__z_epoll.__init__=   s    g    c                    	 | j                   j                  ||       |S # t        $ r*}t        |dd       t        j
                  k7  r Y d }~|S d }~ww xY wNerrno)r3   register	Exceptiongetattrr=   EEXIST)r7   fdeventsexcs       r8   r>   z_epoll.register@   sV    	KK  V, 	  	sGT*ell: ;		s     	AAAc                    	 | j                   j                  |       y # t        t        t        t
        f$ r Y y t        $ r8}t        |dd       t        j                  t        j                  fvr Y d }~y 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   sd    	KK""2&Xy9 	 	sGT*5<<2MM N	s    A9A9.A44A9c                    	 | j                   j                  ||      S d      S # t        $ r)}t        |dd       t        j
                  k7  r Y d }~y d }~ww xY w)Nr   r=   )r3   r   r?   r@   r=   EINTR)r7   timeoutrD   s      r8   r   z_epoll.pollQ   sV    	;;##w/BGKKKK 	sGT*ekk9 :	s   % % 	AAAc                8    | j                   j                          y 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                  R    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y	)
_kqueuec                t    t               | _        i | _        d | _        | j                  j                  | _        y r5   )r
   rX   _activeon_file_changecontrol	_kcontrolr6   s    r8   r9   z_kqueue.__init__`   s+    x"--r:   c                R    | j                  ||t               || j                  |<   |S r5   )_controlr   rZ   r7   rB   rC   s      r8   r>   z_kqueue.registerf   s%    b&),!R	r:   c                    | j                   j                  |d       }|r	 | j                  ||t               y y # t        $ r Y y w xY wr5   )rZ   popr_   r   rG   r`   s      r8   rF   z_kqueue.unregisterk   sI    !!"d+b&,7   s   9 	AAc                    t        |t        t        t        z  t        z  | j
                        }| j                  |gd       y N)filterflagsfflagsr   )r   r   r   r   r   w_fflagsr]   r7   rB   evs      r8   
watch_filez_kqueue.watch_files   s7    B*#l2[@==* 	tQr:   c                l    t        |t        t        | j                        }| j	                  |gd       y rd   )r   r   r   rh   r]   ri   s      r8   unwatch_filez_kqueue.unwatch_filez   s-    B*&==* 	tQr:   c                   |sy g }|t         z  r!|j                  t        |t        |             |r	|t        z  r!|j                  t        |t
        |             | j                  }|D ]  }	  ||gd        y # t        $ r Y w xY w)N)re   rf   r   )WRITEappendr   r   READr   r]   rH   )r7   rB   rC   rf   keventsr\   es          r8   r_   z_kqueue._control   s    E>NN6")8(-/ 0 &4-NNr.> .. 	AQ	  s   .
A;;	BBc                
   	 | j                  d d|      }i g }}|D ]  }|j
                  }|j                  t        k(  r|j                  |d      t        z  ||<   @|j                  t        k(  r:|j                  t        z  r
t        ||<   p|j                  |d      t        z  ||<   |j                  t        k(  r|j                  |d      t        z  ||<   |j                  t         k(  s|j"                  t$        z  r| j'                  |       |j)                  |        |r| j+                  |       t-        |j/                               S # t        $ r)}t        |dd       t        j                  k(  rY d }~y  d }~ww xY w)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   sC   	nnT49G
  "2 	'ABxx>)#ZZA.5r
_,77Y&!$F2J!'B!2U!:F2J[(#ZZA.4r
_,88n,OOB'##A&	' -FLLN##-  	sGT*ekk9	s   E 	FE=<E==Fc                8    | j                   j                          y 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   \   sD    .!/0H.
  &$6r:   rX   c                  P    e Zd Zd Zd Zd Zej                  ee	e
eeeefdZd Zy)_pollc                    t               | _        | j                  j                  | _        | j                  j                  | _        | j                  j                  | _        y r5   )xpoll_pollerr   _quick_pollr>   _quick_registerrF   _quick_unregisterr6   s    r8   r9   z_poll.__init__   sA    w<<,,#||44!%!8!8r:   c                    t        |      }d}|t        z  r	|t        z  }|t        z  r	|t        z  }|t
        z  r	|t        z  }| j                  ||       |S )Nr   )r   rw   r.   ro   r-   rq   r,   r   )r7   rB   rC   
poll_flagss       r8   r>   z_poll.register   sX    BZ
C<'!JE>'!JD=& JR,	r:   c                    	 t        |      }| j	                  |       |S # t        $ r }t        |dd       t        v r|cY d }~S  d }~ww xY wr<   )r   rG   r@   SELECT_BAD_FDr   rM   s      r8   rF   z_poll.unregister   sR    	B 	r"	  	 sGT*m;		s     	A	AA	AA	c
                   |r|dk  rdn ||xs ddz        }	 | j                  |      }
g }|
D ]j  \  }}d}||z  r||z  }||z  r||z  }||z  s|t        z  s	|t        z  r||z  }|sJ t        ||	      s|j                         }|j                  ||f       l |S # t        t        f$ r)}t        |dd       t        j
                  k(  rY d }~y  d }~ww xY w)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   s     7Q;!E7<a3:N4O	))'2J # 	'IBFv~$w%w%("2ego#M6b(+YY[LL"f&	' % G$ 	sGT*ekk9	s   B C-CCCc                    d | _         y 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~      s4    9

 #'))GWex4r:   r~   c                  0    e Zd Zd Zd Zd Zd Zd Zd Zy)_selectc                r    t               t               t               fx| _        \  | _        | _        | _        y r5   )set_all_rfd_wfd_efdr6   s    r8   r9   z_select.__init__   s0     #&%"5	6	  TYYYr:   c                    t        |      }|t        z  r| j                  j                  |       |t        z  r| j
                  j                  |       |t        z  r| j                  j                  |       |S r5   )r   rw   r   addro   r   rq   r   r`   s      r8   r>   z_select.register   sU    BZC<IIMM"E>IIMM"D=IIMM"	r:   c                    | j                   | j                  z  | j                  z  D ]  }	 t        |gg g d        y # t        t
        f$ r.}t        |dd       t        v r| j                  |       Y d }~Nd }~ww xY w)Nr   r=   )	r   r   r   _selectfr   rG   r@   r   rF   rM   s      r8   _remove_badz_select._remove_bad  sq    ))dii'$))3 	(B("r2q)	( ( (3.-?OOB'(s   =A:$A55A:c                   	 t        |      }| j                  j                  |       | j                  j                  |       | j                  j                  |       y # t        $ r}t        |dd       t        v rY d }~y  d }~ww xY wr<   )r   rG   r@   r   r   discardr   r   rM   s      r8   rF   z_select.unregister
  ss    	B 			"		"		"  	 sGT*m;	s   A 	B(B BBc                   	 t        | j                  | j                  | j                  |      \  }}}i }|D ]>  }t        |t              s|j                         }|j                  |d      t        z  ||<   @ |D ]>  }t        |t              s|j                         }|j                  |d      t         z  ||<   @ |D ]>  }t        |t              s|j                         }|j                  |d      t"        z  ||<   @ t%        |j'                               S # t        t
        f$ rQ}t        |dd       t        j                  k(  rY d }~y t        |dd       t        v r| j                         cY d }~S  d }~ww xY w)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  sT   		!)		499dii"D%  	2Bb(+YY[B*T1F2J	2  	3Bb(+YY[B*U2F2J	3  	1Bb(+YY[B*S0F2J	1 FLLN##) G$ 	sGT*ekk9gt,=''))	s)   0D E6%E1"E1*E60E11E6c                    | j                   j                          | j                  j                          | j                  j                          y 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      s     6
($6r:   r   c                     t               dk7  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  s:    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      sy    "    
   &


FD)
GT*	Xt	,	Xt	,JQ/	z>15z>15j-4j-7JU3	%5r:*&7<
OR8*&7<%5r::'92> *&7<
OQ7%5q9
OQ7%5q9%5q9z>26%5r:%5r:	Xq	)
*i
+
*i
+
*i
,:z2. y 
 h"[[%"3"34M
 BT Tn; ;|D DN*a  "[[MM"s   >G GG