contrib/showstack.py
changeset 26123 bdac264e5ed4
child 28522 f2fe7b199bb4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/showstack.py	Fri Aug 28 16:59:31 2015 -0500
@@ -0,0 +1,17 @@
+# showstack.py - extension to dump a Python stack trace on signal
+#
+# binds to both SIGQUIT (Ctrl-\) and SIGINFO (Ctrl-T on BSDs)
+
+import sys, signal, 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