]> granicus.if.org Git - python/commitdiff
Issue #27419: Added temporary workaround for subinterpreters.
authorSerhiy Storchaka <storchaka@gmail.com>
Sun, 17 Jul 2016 11:15:28 +0000 (14:15 +0300)
committerSerhiy Storchaka <storchaka@gmail.com>
Sun, 17 Jul 2016 11:15:28 +0000 (14:15 +0300)
Python/import.c

index c1dc9a06c53336bea553814e645b643464b60dba..5025e755f4fb173216fe81b2ba7206feefcfc1b2 100644 (file)
@@ -1526,7 +1526,10 @@ PyImport_ImportModuleLevelObject(PyObject *name, PyObject *given_globals,
     _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;