showstack.py
22 lines
| 596 B
| text/x-python
|
PythonLexer
/ contrib / showstack.py
Matt Mackall
|
r26123 | # showstack.py - extension to dump a Python stack trace on signal | ||
# | ||||
# binds to both SIGQUIT (Ctrl-\) and SIGINFO (Ctrl-T on BSDs) | ||||
Boris Feld
|
r35674 | """dump stack trace when receiving SIGQUIT (Ctrl-\) and SIGINFO (Ctrl-T on BSDs) | ||
""" | ||||
Matt Mackall
|
r26123 | |||
Pulkit Goyal
|
r28522 | from __future__ import absolute_import | ||
import signal | ||||
import sys | ||||
import traceback | ||||
Matt Mackall
|
r26123 | |||
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 | ||||