summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/tempfile.py12
-rw-r--r--Misc/NEWS3
2 files changed, 12 insertions, 3 deletions
diff --git a/Lib/tempfile.py b/Lib/tempfile.py
index 3682180..756d8c8 100644
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -38,15 +38,21 @@ if _os.name == 'mac':
try:
import fcntl as _fcntl
+ # If PYTHONCASEOK is set on Windows, stinking FCNTL.py gets
+ # imported, and we don't get an ImportError then. Provoke
+ # an AttributeError instead in that case.
+ _fcntl.fcntl
+except (ImportError, AttributeError):
+ def _set_cloexec(fd):
+ pass
+else:
def _set_cloexec(fd):
flags = _fcntl.fcntl(fd, _fcntl.F_GETFD, 0)
if flags >= 0:
# flags read successfully, modify
flags |= _fcntl.FD_CLOEXEC
_fcntl.fcntl(fd, _fcntl.F_SETFD, flags)
-except (ImportError, AttributeError):
- def _set_cloexec(fd):
- pass
+
try:
import thread as _thread
diff --git a/Misc/NEWS b/Misc/NEWS
index ce7aba2..7ba1218 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -39,6 +39,9 @@ C API
Windows
-------
+- The tempfile module could do insane imports on Windows if PYTHONCASEOK
+ was set, making temp file creation impossible. Repaired.
+
Mac
---