o
    ™>âc†	  ã                   @   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 r‚e
e jƒdd„ ƒZ[[
dS )é    N)Ú*)ÚIntEnumÚSignalsc                 C   s(   |   ¡ r|  d¡o|  d¡ p|  d¡S )NÚSIGZSIG_ZCTRL_)ÚisupperÚ
startswith©Úname© r
   úZ/Volumes/Data/workspace/med-macos-weekly/build/ExtProjs/pyncpp/python/source/Lib/signal.pyÚ<lambda>	   s   ÿ
r   ÚHandlersc                 C   ó   | dv S )N)ÚSIG_DFLÚSIG_IGNr
   r   r
   r
   r   r      ó    Úpthread_sigmaskZ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)ÚvalueZ
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   ©Z	signalnumZ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)ZhowZmaskZsigs_setr
   r
   r   r   C   s   Ú
sigpendingc                   C   ó   dd„ t  ¡ D ƒS )Nc                 S   ó   h | ]}t |tƒ’qS r
   r)   r*   r
   r
   r   Ú	<setcomp>L   ó    zsigpending.<locals>.<setcomp>)r#   r/   r
   r
   r
   r   r/   J   ó   Úsigwaitc                 C   r&   r   )r#   r5   r   r   )ZsigsetZretsigr
   r
   r   r5   P   r(   Úvalid_signalsc                   C   r0   )Nc                 S   r1   r
   r)   r*   r
   r
   r   r2   Y   r3   z valid_signals.<locals>.<setcomp>)r#   r6   r
   r
   r
   r   r6   W   r4   )r#   Zenumr   Z_IntEnumÚglobalsZ_globalsZ	_convert_Ú__name__r   r   r"   r$   r'   r   r/   r5   r6   r
   r
   r
   r   Ú<module>   sJ    þþþ






