summaryrefslogtreecommitdiff
path: root/Lib/tempfile.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2015-03-19 15:23:15 +0200
committerSerhiy Storchaka <storchaka@gmail.com>2015-03-19 15:23:15 +0200
commit56cefa69ee919559cf3ca2388d12371c24402df3 (patch)
tree5fc0f839259759a19ca05b5a68072a6ad00bce8c /Lib/tempfile.py
parent86fdbf3152f2c19c483da5cce4b4d74539d1407b (diff)
downloadcpython-git-56cefa69ee919559cf3ca2388d12371c24402df3.tar.gz
Issue #23700: Iterator of NamedTemporaryFile now keeps a reference to
NamedTemporaryFile instance. Patch by Bohuslav Kabrda.
Diffstat (limited to 'Lib/tempfile.py')
-rw-r--r--Lib/tempfile.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/Lib/tempfile.py b/Lib/tempfile.py
index b6eeca3b1a..8352c38a0d 100644
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -426,7 +426,9 @@ class _TemporaryFileWrapper:
# iter() doesn't use __getattr__ to find the __iter__ method
def __iter__(self):
- return iter(self.file)
+ # don't return iter(self.file), but yield from it to avoid closing
+ # file as long as it's being used as iterator, see issue #23000
+ yield from iter(self.file)
def NamedTemporaryFile(mode='w+b', buffering=-1, encoding=None,