Skip to content

Commit 64484b7

Browse files
authored
Merge pull request #234 from python/bugfix/as_file-refleak
Avoid file descriptor refleaks in as_file.
2 parents 54a61c4 + 778172d commit 64484b7

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

CHANGES.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
v5.2.2
2+
======
3+
4+
* #234: Fix refleak in ``as_file`` caught by CPython tests.
5+
16
v5.2.1
27
======
38

importlib_resources/_common.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,16 @@ def _tempfile(reader, suffix=''):
8787
# properly.
8888
fd, raw_path = tempfile.mkstemp(suffix=suffix)
8989
try:
90-
os.write(fd, reader())
91-
os.close(fd)
90+
try:
91+
os.write(fd, reader())
92+
finally:
93+
os.close(fd)
9294
del reader
9395
yield pathlib.Path(raw_path)
9496
finally:
9597
try:
9698
os.remove(raw_path)
97-
except (FileNotFoundError, PermissionError):
99+
except FileNotFoundError:
98100
pass
99101

100102

0 commit comments

Comments
 (0)