mirror of https://github.com/python/cpython
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_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */
|
||||||
int Py_NoSiteFlag; /* Suppress 'import site' */
|
int Py_NoSiteFlag; /* Suppress 'import site' */
|
||||||
int Py_UseClassExceptionsFlag = 1; /* Needed by bltinmodule.c */
|
int Py_UseClassExceptionsFlag = 1; /* Needed by bltinmodule.c */
|
||||||
int Py_UsingLocale = 0; /* needed by compile.c, modified by localemodule */
|
|
||||||
|
|
||||||
static int initialized = 0;
|
static int initialized = 0;
|
||||||
|
|
||||||
|
@ -134,8 +133,8 @@ Py_Initialize()
|
||||||
bimod = _PyBuiltin_Init_1();
|
bimod = _PyBuiltin_Init_1();
|
||||||
if (bimod == NULL)
|
if (bimod == NULL)
|
||||||
Py_FatalError("Py_Initialize: can't initialize __builtin__");
|
Py_FatalError("Py_Initialize: can't initialize __builtin__");
|
||||||
Py_INCREF(bimod);
|
interp->builtins = PyModule_GetDict(bimod);
|
||||||
interp->builtins = bimod;
|
Py_INCREF(interp->builtins);
|
||||||
|
|
||||||
sysmod = _PySys_Init();
|
sysmod = _PySys_Init();
|
||||||
if (sysmod == NULL)
|
if (sysmod == NULL)
|
||||||
|
@ -148,7 +147,7 @@ Py_Initialize()
|
||||||
interp->modules);
|
interp->modules);
|
||||||
|
|
||||||
/* phase 2 of builtins */
|
/* phase 2 of builtins */
|
||||||
_PyBuiltin_Init_2(PyModule_GetDict(bimod));
|
_PyBuiltin_Init_2(interp->builtins);
|
||||||
_PyImport_FixupExtension("__builtin__", "__builtin__");
|
_PyImport_FixupExtension("__builtin__", "__builtin__");
|
||||||
|
|
||||||
_PyImport_Init();
|
_PyImport_Init();
|
||||||
|
@ -199,7 +198,7 @@ Py_Finalize()
|
||||||
/* Destroy all modules */
|
/* Destroy all modules */
|
||||||
PyImport_Cleanup();
|
PyImport_Cleanup();
|
||||||
|
|
||||||
/* Delete current thread
|
/* Delete current thread */
|
||||||
PyInterpreterState_Clear(interp);
|
PyInterpreterState_Clear(interp);
|
||||||
PyThreadState_Swap(NULL);
|
PyThreadState_Swap(NULL);
|
||||||
PyInterpreterState_Delete(interp);
|
PyInterpreterState_Delete(interp);
|
||||||
|
@ -287,8 +286,8 @@ Py_NewInterpreter()
|
||||||
|
|
||||||
bimod = _PyImport_FindExtension("__builtin__", "__builtin__");
|
bimod = _PyImport_FindExtension("__builtin__", "__builtin__");
|
||||||
if (bimod != NULL) {
|
if (bimod != NULL) {
|
||||||
Py_INCREF(bimod);
|
interp->builtins = PyModule_GetDict(bimod);
|
||||||
interp->builtins = bimod;
|
Py_INCREF(interp->builtins);
|
||||||
}
|
}
|
||||||
sysmod = _PyImport_FindExtension("sys", "sys");
|
sysmod = _PyImport_FindExtension("sys", "sys");
|
||||||
if (bimod != NULL && sysmod != NULL) {
|
if (bimod != NULL && sysmod != NULL) {
|
||||||
|
|
Loading…
Reference in New Issue