mirror of
https://github.com/python/cpython.git
synced 2025-07-29 14:15:07 +00:00
Merged revisions 86229 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r86229 | alexander.belopolsky | 2010-11-05 21:31:16 -0400 (Fri, 05 Nov 2010) | 1 line Issue #10330: trace module can now be used with python built without threads. ........
This commit is contained in:
parent
97a5bad496
commit
997980fe13
1 changed files with 18 additions and 5 deletions
23
Lib/trace.py
23
Lib/trace.py
|
@ -53,7 +53,6 @@ import linecache
|
|||
import os
|
||||
import re
|
||||
import sys
|
||||
import threading
|
||||
import time
|
||||
import token
|
||||
import tokenize
|
||||
|
@ -62,6 +61,22 @@ import gc
|
|||
import dis
|
||||
import pickle
|
||||
|
||||
try:
|
||||
import threading
|
||||
except ImportError:
|
||||
_settrace = sys.settrace
|
||||
|
||||
def _unsettrace():
|
||||
sys.settrace(None)
|
||||
else:
|
||||
def _settrace(func):
|
||||
threading.settrace(func)
|
||||
sys.settrace(func)
|
||||
|
||||
def _unsettrace():
|
||||
sys.settrace(None)
|
||||
threading.settrace(None)
|
||||
|
||||
def usage(outfile):
|
||||
outfile.write("""Usage: %s [OPTIONS] <file> [ARGS]
|
||||
|
||||
|
@ -500,14 +515,12 @@ class Trace:
|
|||
if globals is None: globals = {}
|
||||
if locals is None: locals = {}
|
||||
if not self.donothing:
|
||||
threading.settrace(self.globaltrace)
|
||||
sys.settrace(self.globaltrace)
|
||||
_settrace(self.globaltrace)
|
||||
try:
|
||||
exec(cmd, globals, locals)
|
||||
finally:
|
||||
if not self.donothing:
|
||||
sys.settrace(None)
|
||||
threading.settrace(None)
|
||||
_unsettrace()
|
||||
|
||||
def runfunc(self, func, *args, **kw):
|
||||
result = None
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue