B
    \ cK                 @   s
  d dl Z d dl T d dlmZ d dlmZ e Ze	de
dd  e	de
d	d  d
ekrle	de
dd  dd Zdd Zee jdd Zee jdd Zd
ekree jdd
 Ze jje_dekree jdd Zdekree jdd Ze je_[[dS )    N)*)wraps)IntEnumSignalsc             C   s(   |   r| dr| d p&| dS )NZSIGZSIG_ZCTRL_)isupper
startswith)name r	   lib/python3.7/signal.py<lambda>
   s    r   Handlersc             C   s   | dkS )N)SIG_DFLSIG_IGNr	   )r   r	   r	   r
   r          pthread_sigmaskZSigmasksc             C   s   | dkS )N)	SIG_BLOCKSIG_UNBLOCKSIG_SETMASKr	   )r   r	   r	   r
   r      r   c             C   s"   y|| S  t k
r   | S X 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&   yt | S  ttfk
r    | S X 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             C   s   t t| t|}t|tS )N)_signalsignalr   r   r   )	signalnumhandlerr	   r	   r
   r   -   s    r   c             C   s   t | }t|tS )N)r   	getsignalr   r   )r   r   r	   r	   r
   r   3   s    
r   c             C   s   t | |}tdd |D S )Nc             s   s   | ]}t |tV  qd S )N)r   r   ).0xr	   r	   r
   	<genexpr>=   s    z"pthread_sigmask.<locals>.<genexpr>)r   r   set)ZhowmaskZsigs_setr	   r	   r
   r   :   s    
sigpendingc              C   s   t  } tdd | D S )Nc             s   s   | ]}t |tV  qd S )N)r   r   )r   r    r	   r	   r
   r!   E   s    zsigpending.<locals>.<genexpr>)r   r$   r"   )Zsigsr	   r	   r
   r$   B   s    sigwaitc             C   s   t | }t|tS )N)r   r%   r   r   )ZsigsetZretsigr	   r	   r
   r%   I   s    
)r   	functoolsr   Z_wrapsenumr   Z_IntEnumglobalsZ_globals_convert__name__r   r   r   r   r   __doc__r$   r%   r	   r	   r	   r
   <module>   s6   






