bpo-31404: Revert "remove modules from Py_InterpreterState (#1638)" (#3565)

PR #1638, for bpo-28411, causes problems in some (very) edge cases. Until that gets sorted out, we're reverting the merge. PR #3506, a fix on top of #1638, is also getting reverted.
This commit is contained in:
Eric Snow 2017-09-13 23:46:04 -07:00 committed by GitHub
parent 13ad3b7a82
commit 93c92f7d1d
21 changed files with 154 additions and 308 deletions

View file

@ -38,6 +38,7 @@ static PyObject *
get_warnings_attr(const char *attr, int try_import)
{
static PyObject *warnings_str = NULL;
PyObject *all_modules;
PyObject *warnings_module, *obj;
if (warnings_str == NULL) {
@ -57,7 +58,9 @@ get_warnings_attr(const char *attr, int try_import)
}
}
else {
warnings_module = _PyImport_GetModule(warnings_str);
all_modules = PyImport_GetModuleDict();
warnings_module = PyDict_GetItem(all_modules, warnings_str);
if (warnings_module == NULL)
return NULL;