ó
è¾bc           @   s   d  d l  Z  d  d l Z d  d l m Z e Z d e f d „  ƒ  YZ e j ƒ  Z	 d „  Z
 d „  Z d a d „  Z d d „ Z d S(	   iÿÿÿÿN(   t   wrapst   _InterruptHandlerc           B   s   e  Z d  „  Z d „  Z RS(   c         C   sy   t  |  _ | |  _ t | t t f ƒ rl | t j k rB t j } ql | t j	 k r] d „  } ql t
 d ƒ ‚ n  | |  _ d  S(   Nc         S   s   d  S(   N(    (   t   unused_signumt   unused_frame(    (    s&   /usr/lib/python2.7/unittest/signals.pyt   default_handler   s    sY   expected SIGINT signal handler to be signal.SIG_IGN, signal.SIG_DFL, or a callable object(   t   Falset   calledt   original_handlert
   isinstancet   intt   longt   signalt   SIG_DFLt   default_int_handlert   SIG_IGNt	   TypeErrorR   (   t   selfR   (    (    s&   /usr/lib/python2.7/unittest/signals.pyt   __init__
   s    		c         C   s{   t  j t  j ƒ } | |  k	 r1 |  j | | ƒ n  |  j rM |  j | | ƒ n  t |  _ x t j ƒ  D] } | j ƒ  qc Wd  S(   N(	   R   t	   getsignalt   SIGINTR   R   t   Truet   _resultst   keyst   stop(   R   t   signumt   framet   installed_handlert   result(    (    s&   /usr/lib/python2.7/unittest/signals.pyt   __call__   s    		(   t   __name__t
   __module__R   R   (    (    (    s&   /usr/lib/python2.7/unittest/signals.pyR   	   s   	c         C   s   d t  |  <d  S(   Ni   (   R   (   R   (    (    s&   /usr/lib/python2.7/unittest/signals.pyt   registerResult*   s    c         C   s   t  t j |  d  ƒ ƒ S(   N(   t   boolR   t   popt   None(   R   (    (    s&   /usr/lib/python2.7/unittest/signals.pyt   removeResult-   s    c          C   sD   t  d  k r@ t j t j ƒ }  t |  ƒ a  t j t j t  ƒ n  d  S(   N(   t   _interrupt_handlerR"   R   R   R   R   (   R   (    (    s&   /usr/lib/python2.7/unittest/signals.pyt   installHandler1   s    c            sT   ˆ  d  k	 r+ t ˆ  ƒ ‡  f d †  ƒ } | St d  k	 rP t j t j t j ƒ n  d  S(   Nc             sE   t  j t  j ƒ } t ƒ  z ˆ  |  | Ž  SWd  t  j  t  j | ƒ Xd  S(   N(   R   R   R   t   removeHandler(   t   argst   kwargst   initial(   t   method(    s&   /usr/lib/python2.7/unittest/signals.pyt   inner;   s
    (   R"   R    R$   R   R   R   (   R*   R+   (    (   R*   s&   /usr/lib/python2.7/unittest/signals.pyR&   9   s
    (   R   t   weakreft	   functoolsR    R   t
   __unittestt   objectR   t   WeakKeyDictionaryR   R   R#   R"   R$   R%   R&   (    (    (    s&   /usr/lib/python2.7/unittest/signals.pyt   <module>   s    			