contrib/showstack.py
author Boris Feld <boris.feld@octobus.net>
Fri, 06 Oct 2017 16:36:41 +0200
changeset 34576 50b46054b869
parent 28522 f2fe7b199bb4
child 35656 c9eb92fb87b7
permissions -rw-r--r--
test: rename obsfate template alias We will introduce an obsfate templatekw in the next patch that will conflict with the obsfate template in the test file, rename the one in test file to avoid this collision.

# showstack.py - extension to dump a Python stack trace on signal
#
# binds to both SIGQUIT (Ctrl-\) and SIGINFO (Ctrl-T on BSDs)

from __future__ import absolute_import
import signal
import sys
import traceback

def sigshow(*args):
    sys.stderr.write("\n")
    traceback.print_stack(args[1], limit=10, file=sys.stderr)
    sys.stderr.write("----\n")

def extsetup(ui):
    signal.signal(signal.SIGQUIT, sigshow)
    try:
        signal.signal(signal.SIGINFO, sigshow)
    except AttributeError:
        pass