summaryrefslogtreecommitdiff
path: root/Python/_warnings.c
diff options
context:
space:
mode:
authorEric Snow <ericsnowcurrently@gmail.com>2017-09-13 23:46:04 -0700
committerGitHub <noreply@github.com>2017-09-13 23:46:04 -0700
commit93c92f7d1dbb6e7e472f1d0444c6968858113de2 (patch)
tree031230f9b0cf2e8a8ef21f7fc40c4f5f98d20c6c /Python/_warnings.c
parent13ad3b7a82bf56d803fbe48ee5df6c4b08986c78 (diff)
downloadcpython-git-93c92f7d1dbb6e7e472f1d0444c6968858113de2.tar.gz
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.
Diffstat (limited to 'Python/_warnings.c')
-rw-r--r--Python/_warnings.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Python/_warnings.c b/Python/_warnings.c
index 6dad080686..ba004859df 100644
--- a/Python/_warnings.c
+++ b/Python/_warnings.c
@@ -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;