]> granicus.if.org Git - python/commitdiff
Merged revisions 74140 via svnmerge from
authorBenjamin Peterson <benjamin@python.org>
Tue, 21 Jul 2009 14:16:13 +0000 (14:16 +0000)
committerBenjamin Peterson <benjamin@python.org>
Tue, 21 Jul 2009 14:16:13 +0000 (14:16 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r74140 | benjamin.peterson | 2009-07-21 09:11:27 -0500 (Tue, 21 Jul 2009) | 9 lines

  Merged revisions 74139 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r74139 | benjamin.peterson | 2009-07-21 09:08:40 -0500 (Tue, 21 Jul 2009) | 1 line

    must use _PyThreadState_Current so it isn't checked for NULL #6530
  ........
................

Objects/dictobject.c

index ce6760fdbd6820cfa86e9e17361958249e3ba565..907ccf242064f6d1634b40efc7c9ae66aa960a58 100644 (file)
@@ -714,10 +714,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;