ó
Ż²k^c           @` s   d  d l  m Z m Z m Z m Z d  d l m Z d  d l m Z d  d l	 Z	 d  d l
 Z
 d d l m Z e e  Z d Z d   Z e d    Z d S(   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literals(   t   contextmanager(   t	   getLoggerNi   (   t	   iteritemsu   SIGABRTu   SIGINTu   SIGTERMu   SIGQUITu   SIGBREAKc         ` s&   t    f d   t t j  D d  S(   uo   
    Examples:
        >>> from signal import SIGINT
        >>> get_signal_name(SIGINT)
        'SIGINT'

    c         3` sF   |  ]< \ } } |   k r | j  d   r | j  d  r | Vq d S(   u   SIGu   SIG_N(   t
   startswith(   t   .0t   kt   v(   t   signum(    s3   lib/python2.7/site-packages/conda/common/signals.pys	   <genexpr>   s    	N(   t   nextR   t   signalt   __dict__t   None(   R   (    (   R   s3   lib/python2.7/site-packages/conda/common/signals.pyt   get_signal_name   s    c         c` s  t  j   } g  | _ x t D] } t t | d   } | r t j d |  y, t j | |   } | j j	 | | f  Wq t
 k
 r } t j d |  q Xq q Wz	 d  VWd  t j t j f } xR | j D]G \ } } t |  sļ | | k rĖ t j d |  t j | |  qĖ qĖ WXd  S(   Nu   registering handler for %su   %ru   de-registering handler for %s(   t	   threadingt   localt   previous_handlerst   INTERRUPT_SIGNALSt   getattrR   R   t   logt   debugt   appendt
   ValueErrort   SIG_IGNt   SIG_DFLt   callable(   t   handlert   _thread_localt   signamet   sigt   prev_handlert   et   standard_handlerst   previous_handler(    (    s3   lib/python2.7/site-packages/conda/common/signals.pyt   signal_handler$   s$    		(   u   SIGABRTu   SIGINTu   SIGTERMu   SIGQUITu   SIGBREAK(   t
   __future__R    R   R   R   t
   contextlibR   t   loggingR   R   R   t   compatR   t   __name__R   R   R   R%   (    (    (    s3   lib/python2.7/site-packages/conda/common/signals.pyt   <module>   s   "    	