Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

 

from __future__ import absolute_import 

 

from twisted.internet import reactor 

 

import signal 

 

signal_names = {} 

for signame in dir(signal): 

    if signame.startswith("SIG"): 

        signum = getattr(signal, signame) 

9        if isinstance(signum, int): 

            signal_names[signum] = signame 

 

def install_shutdown_handlers(function, override_sigint=True): 

    """Install the given function as a signal handler for all common shutdown 

    signals (such as SIGINT, SIGTERM, etc). If override_sigint is ``False`` the 

    SIGINT handler won't be install if there is already a handler in place 

    (e.g.  Pdb) 

    """ 

    reactor._handleSignals() 

    signal.signal(signal.SIGTERM, function) 

    if signal.getsignal(signal.SIGINT) == signal.default_int_handler or \ 

            override_sigint: 

        signal.signal(signal.SIGINT, function) 

    # Catch Ctrl-Break in windows 

    if hasattr(signal, "SIGBREAK"): 

        signal.signal(signal.SIGBREAK, function)