From: Martin v. Löwis Date: Tue, 23 Jan 2007 21:11:58 +0000 (+0000) Subject: Make PyTraceBack_Here use the current thread, not the X-Git-Tag: v2.5.1c1~144 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=601d03a5be6a6952ecb57750f0365d6ef2abd4eb;p=thirdparty%2FPython%2Fcpython.git Make PyTraceBack_Here use the current thread, not the frame's thread state. Fixes #1579370. --- diff --git a/Misc/NEWS b/Misc/NEWS index f30f50b6a558..fc5dd66f0dc3 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,9 @@ What's New in Python 2.5.1c1? Core and builtins ----------------- +- Bug #1579370: Make PyTraceBack_Here use the current thread, not the + frame's thread state. + - patch #1630975: Fix crash when replacing sys.stdout in sitecustomize.py - Bug #1637022: Prefix AST symbols with _Py_. diff --git a/Python/traceback.c b/Python/traceback.c index cfbd83361fa7..4ddee2c73b99 100644 --- a/Python/traceback.c +++ b/Python/traceback.c @@ -113,7 +113,7 @@ newtracebackobject(PyTracebackObject *next, PyFrameObject *frame) int PyTraceBack_Here(PyFrameObject *frame) { - PyThreadState *tstate = frame->f_tstate; + PyThreadState *tstate = PyThreadState_GET(); PyTracebackObject *oldtb = (PyTracebackObject *) tstate->curexc_traceback; PyTracebackObject *tb = newtracebackobject(oldtb, frame); if (tb == NULL)