Undo half of the previous change :-(
Setting interp->builtins to the __builtin__ module instead of to its dictionary had the unfortunate side effect of always running in restricted execution mode :-( I will check in a different way of setting __main__.__builtins__ to the __builtin__ module later. Also, there was a typo -- a comment was unfinished, and as a result some finalizations were not being executed. In Bart Simpson style, I Will Not Check In Untested Changes. I Will Not Check In Untested Changes. I Will Not Check In Untested Changes. I Will Not Check In Untested Changes. I Will Not Check In Untested Changes. I Will Not Check In Untested Changes. I Will Not Check In Untested Changes. I Will Not Check In Untested Changes. I Will Not Check In Untested Changes. I Will Not Check In Untested Changes.
This commit is contained in:
parent
6d48c4a00b
commit
4a1f39a26b
|
@ -77,7 +77,6 @@ int Py_VerboseFlag; /* Needed by import.c */
|
|||
int Py_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */
|
||||
int Py_NoSiteFlag; /* Suppress 'import site' */
|
||||
int Py_UseClassExceptionsFlag = 1; /* Needed by bltinmodule.c */
|
||||
int Py_UsingLocale = 0; /* needed by compile.c, modified by localemodule */
|
||||
|
||||
static int initialized = 0;
|
||||
|
||||
|
@ -134,8 +133,8 @@ Py_Initialize()
|
|||
bimod = _PyBuiltin_Init_1();
|
||||
if (bimod == NULL)
|
||||
Py_FatalError("Py_Initialize: can't initialize __builtin__");
|
||||
Py_INCREF(bimod);
|
||||
interp->builtins = bimod;
|
||||
interp->builtins = PyModule_GetDict(bimod);
|
||||
Py_INCREF(interp->builtins);
|
||||
|
||||
sysmod = _PySys_Init();
|
||||
if (sysmod == NULL)
|
||||
|
@ -148,7 +147,7 @@ Py_Initialize()
|
|||
interp->modules);
|
||||
|
||||
/* phase 2 of builtins */
|
||||
_PyBuiltin_Init_2(PyModule_GetDict(bimod));
|
||||
_PyBuiltin_Init_2(interp->builtins);
|
||||
_PyImport_FixupExtension("__builtin__", "__builtin__");
|
||||
|
||||
_PyImport_Init();
|
||||
|
@ -199,7 +198,7 @@ Py_Finalize()
|
|||
/* Destroy all modules */
|
||||
PyImport_Cleanup();
|
||||
|
||||
/* Delete current thread
|
||||
/* Delete current thread */
|
||||
PyInterpreterState_Clear(interp);
|
||||
PyThreadState_Swap(NULL);
|
||||
PyInterpreterState_Delete(interp);
|
||||
|
@ -287,8 +286,8 @@ Py_NewInterpreter()
|
|||
|
||||
bimod = _PyImport_FindExtension("__builtin__", "__builtin__");
|
||||
if (bimod != NULL) {
|
||||
Py_INCREF(bimod);
|
||||
interp->builtins = bimod;
|
||||
interp->builtins = PyModule_GetDict(bimod);
|
||||
Py_INCREF(interp->builtins);
|
||||
}
|
||||
sysmod = _PyImport_FindExtension("sys", "sys");
|
||||
if (bimod != NULL && sysmod != NULL) {
|
||||
|
|
Loading…
Reference in New Issue