o
    f	                     @   s  d dl Z d dl T d dlmZ e Zededd  ededd  d	ev r0ed
edd  dd Zdd Z	dd Z
e
e jdd Ze
e jdd Zd	ev r[e
e jdd	 Zdev rhe
e jdd Zdev rue
e jdd Zdev re
e jdd Z[[
dS )    N)*)IntEnumSignalsc                 C   s(   |   r| do| d p| dS )NSIGSIG_CTRL_)isupper
startswithname r   /usr/lib/python3.10/signal.py<lambda>	   s   
r   Handlersc                 C      | dv S )N)SIG_DFLSIG_IGNr   r
   r   r   r   r          pthread_sigmaskSigmasksc                 C   r   )N)	SIG_BLOCKSIG_UNBLOCKSIG_SETMASKr   r
   r   r   r   r      r   c                 C   s"   z|| W S  t y   |  Y S w )zsConvert a numeric value to an IntEnum member.
    If it's not a known member, return the numeric value itself.
    )
ValueError)value
enum_klassr   r   r   _int_to_enum   s
   
r   c              	   C   s&   zt | W S  ttfy   |  Y S w )zmConvert an IntEnum member to a numeric value.
    If it's not an IntEnum member return the value itself.
    )intr   	TypeError)r   r   r   r   _enum_to_int"   s
   
r   c                    s    fdd}|S )Nc                    s    j | _ | S N)__doc__)wrapperwrappedr   r   	decorator1   s   z_wraps.<locals>.decoratorr   )r$   r%   r   r#   r   _wraps0   s   r&   c                 C   s   t t| t|}t|tS r    )_signalsignalr   r   r   	signalnumhandlerr   r   r   r(   6   s   
r(   c                 C      t | }t|tS r    )r'   	getsignalr   r   r)   r   r   r   r-   <      

r-   c                 C   s   t | |}tdd |D S )Nc                 s   s    | ]}t |tV  qd S r    r   r   .0xr   r   r   	<genexpr>F   s    z"pthread_sigmask.<locals>.<genexpr>)r'   r   set)howmasksigs_setr   r   r   r   C   s   
sigpendingc                   C      dd t  D S )Nc                 S      h | ]}t |tqS r   r/   r0   r   r   r   	<setcomp>L       zsigpending.<locals>.<setcomp>)r'   r8   r   r   r   r   r8   J      sigwaitc                 C   r,   r    )r'   r>   r   r   )sigsetretsigr   r   r   r>   P   r.   valid_signalsc                   C   r9   )Nc                 S   r:   r   r/   r0   r   r   r   r;   Y   r<   z valid_signals.<locals>.<setcomp>)r'   rA   r   r   r   r   rA   W   r=   )r'   enumr   _IntEnumglobals_globals	_convert___name__r   r   r&   r(   r-   r   r8   r>   rA   r   r   r   r   <module>   sJ    






