From 24d9175ebe6c6eba6d7c648112a25bc1c14f83c1 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Tue, 21 Jul 2009 14:08:40 +0000 Subject: must use _PyThreadState_Current so it isn't checked for NULL #6530 --- Objects/dictobject.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Objects/dictobject.c b/Objects/dictobject.c index d797173..c4f93d4b 100644 --- a/Objects/dictobject.c +++ b/Objects/dictobject.c @@ -712,10 +712,12 @@ PyDict_GetItem(PyObject *op, PyObject *key) } } - /* We can arrive here with a NULL tstate during initialization: - try running "python -Wi" for an example related to string - interning. Let's just hope that no exception occurs then... */ - tstate = PyThreadState_GET(); + /* We can arrive here with a NULL tstate during initialization: try + running "python -Wi" for an example related to string interning. + Let's just hope that no exception occurs then... This must be + _PyThreadState_Current and not PyThreadState_GET() because in debug + mode, it complains if tstate is NULL. */ + tstate = _PyThreadState_Current; if (tstate != NULL && tstate->curexc_type != NULL) { /* preserve the existing exception */ PyObject *err_type, *err_value, *err_tb; -- cgit v0.12