[Python-checkins] cpython (merge 3.5 -> default): Issue #27419: Added temporary workaround for subinterpreters.

serhiy.storchaka python-checkins at python.org
Sun Jul 17 07:17:55 EDT 2016


https://hg.python.org/cpython/rev/5540234ca517
changeset:   102383:5540234ca517
parent:      102381:33593fcdf8b0
parent:      102382:4c07faa33915
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Sun Jul 17 14:16:04 2016 +0300
summary:
  Issue #27419: Added temporary workaround for subinterpreters.

files:
  Python/import.c |  5 ++++-
  1 files changed, 4 insertions(+), 1 deletions(-)


diff --git a/Python/import.c b/Python/import.c
--- a/Python/import.c
+++ b/Python/import.c
@@ -1557,7 +1557,10 @@
     _PyImport_AcquireLock();
 #endif
    /* From this point forward, goto error_with_unlock! */
-    builtins_import = _PyDict_GetItemId(interp->builtins_copy, &PyId___import__);
+    /* XXX interp->builtins_copy is NULL in subinterpreter! */
+    builtins_import = _PyDict_GetItemId(interp->builtins_copy ?
+                                        interp->builtins_copy :
+                                        interp->builtins, &PyId___import__);
     if (builtins_import == NULL) {
         PyErr_SetString(PyExc_ImportError, "__import__ not found");
         goto error_with_unlock;

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list