Should fix the issue19081 fix on Windows. Don't let the previous
posix module ImportError cause the nt module import to fail.
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index bbfbda9..f458ec6 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -1429,9 +1429,10 @@
* live within a zipped up standard library. Import the posix or nt
* builtin that provides the fstat() function we want instead. */
PyObject *os_like_module;
- Py_XDECREF(fstat_function); /* Avoid embedded interpreter leaks. */
+ Py_CLEAR(fstat_function); /* Avoid embedded interpreter leaks. */
os_like_module = PyImport_ImportModule("posix");
if (os_like_module == NULL) {
+ PyErr_Clear();
os_like_module = PyImport_ImportModule("nt");
}
if (os_like_module != NULL) {
@@ -1440,6 +1441,8 @@
}
if (fstat_function == NULL) {
PyErr_Clear(); /* non-fatal, we'll go on without it. */
+ if (Py_VerboseFlag)
+ PySys_WriteStderr("# zipimport unable to use os.fstat().\n");
}
}
}