a
    If	                     @   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 r`e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 re
e jdd	 Zdev re
e jdd Zdev re
e jdd Zdev re
e jdd Z[[
dS )    N)*)IntEnumSignalsc                 C   s(   |   r| dr| d p&| dS )NZSIGZSIG_ZCTRL_)isupper
startswithname r	   lib/python3.9/signal.py<lambda>	   s    r   Handlersc                 C   s   | dv S )N)SIG_DFLSIG_IGNr	   r   r	   r	   r
   r          pthread_sigmaskZSigmasksc                 C   s   | dv S )N)	SIG_BLOCKSIG_UNBLOCKSIG_SETMASKr	   r   r	   r	   r
   r      r   c                 C   s&   z
|| W S  t y    |  Y S 0 dS )zsConvert a numeric value to an IntEnum member.
    If it's not a known member, return the numeric value itself.
    N)
ValueError)valueZ
enum_klassr	   r	   r
   _int_to_enum   s    
r   c              	   C   s*   z
t | W S  ttfy$   |  Y S 0 dS )zmConvert an IntEnum member to a numeric value.
    If it's not an IntEnum member return the value itself.
    N)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   Z	signalnumZhandlerr	   r	   r
   r"   6   s    r"   c                 C   s   t | }t|tS r   )r!   	getsignalr   r   r#   r	   r	   r
   r$   <   s    
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   r   z"pthread_sigmask.<locals>.<genexpr>)r!   r   set)ZhowmaskZsigs_setr	   r	   r
   r   C   s    
sigpendingc                   C   s   dd t  D S )Nc                 S   s   h | ]}t |tqS r	   r%   r&   r	   r	   r
   	<setcomp>L   r   zsigpending.<locals>.<setcomp>)r!   r,   r	   r	   r	   r
   r,   J   s    sigwaitc                 C   s   t | }t|tS r   )r!   r.   r   r   )ZsigsetZretsigr	   r	   r
   r.   P   s    
valid_signalsc                   C   s   dd t  D S )Nc                 S   s   h | ]}t |tqS r	   r%   r&   r	   r	   r
   r-   Y   r   z valid_signals.<locals>.<setcomp>)r!   r/   r	   r	   r	   r
   r/   W   s    )r!   enumr   Z_IntEnumglobalsZ_globals	_convert___name__r   r   r    r"   r$   r   r,   r.   r/   r	   r	   r	   r
   <module>   sH   







