Mercurial > hg
view contrib/showstack.py @ 28025:ab6468270b83
blackbox: flush output file descriptor
Without this, when there are multiple ui views, each blackbox
will have its own file handle, and the logging will be in
a really bad order.
Also, because of the way blackbox works, it never closes its
file handles, which means the last output before exit is
often lost.
author | timeless <timeless@mozdev.org> |
---|---|
date | Wed, 03 Feb 2016 15:18:29 +0000 |
parents | bdac264e5ed4 |
children | f2fe7b199bb4 |
line wrap: on
line source
# 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