From 93c92f7d1dbb6e7e472f1d0444c6968858113de2 Mon Sep 17 00:00:00 2001 From: Eric Snow Date: Wed, 13 Sep 2017 23:46:04 -0700 Subject: 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. --- Python/_warnings.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Python/_warnings.c') 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; -- cgit v1.2.1