summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2022-05-25 10:11:46 (GMT)
committerGitHub <noreply@github.com>2022-05-25 10:11:46 (GMT)
commit307dacd651356d7318d5330b98794560329cf5e2 (patch)
tree7872523e78e7f23cddb25377da71bea00b8bccf4 /Python
parent2ea3d3b847a607c536f6d5714328cb54733eeca0 (diff)
downloadcpython-307dacd651356d7318d5330b98794560329cf5e2.zip
cpython-307dacd651356d7318d5330b98794560329cf5e2.tar.gz
cpython-307dacd651356d7318d5330b98794560329cf5e2.tar.bz2
gh-91924: Fix __lltrace__ for non-UTF-8 stdout encoding (GH-93199)
Fix __lltrace__ debug feature if the stdout encoding is not UTF-8. If the stdout encoding is not UTF-8, the first call to lltrace_resume_frame() indirectly sets lltrace to 0 when calling unicode_check_encoding_errors() which calls encodings.search_function(). (cherry picked from commit 5695c0e0a25da58dfc1d22fc1cd68c2fda0a320d) Co-authored-by: Victor Stinner <vstinner@python.org>
Diffstat (limited to 'Python')
-rw-r--r--Python/ceval.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Python/ceval.c b/Python/ceval.c
index c73218f..62379b4 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -103,7 +103,6 @@ static PyObject * do_call_core(
PyObject *callargs, PyObject *kwdict, int use_tracing);
#ifdef LLTRACE
-static int lltrace;
static void
dump_stack(_PyInterpreterFrame *frame, PyObject **stack_pointer)
{
@@ -1715,6 +1714,9 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int
uint8_t opcode; /* Current opcode */
int oparg; /* Current opcode argument, if any */
_Py_atomic_int * const eval_breaker = &tstate->interp->ceval.eval_breaker;
+#ifdef LLTRACE
+ int lltrace = 0;
+#endif
_PyCFrame cframe;
CallShape call_shape;