From: Jason R. Coombs Date: Sat, 31 Jul 2021 00:37:09 +0000 (-0400) Subject: bpo-44771: Sync with importlib_resources 5.2.2, fixing refleak. (#27497) X-Git-Tag: v3.11.0a1~507 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e63e6311aa258a5f3f49a7aed9fdde445fd384d6;p=thirdparty%2FPython%2Fcpython.git bpo-44771: Sync with importlib_resources 5.2.2, fixing refleak. (#27497) * bpo-44771: Sync with importlib_resources 5.2.2, fixing refleak. * Include new 'resources' dir in the Makefile. --- diff --git a/Lib/importlib/_common.py b/Lib/importlib/_common.py index 74654b34ed5a..9b126f317497 100644 --- a/Lib/importlib/_common.py +++ b/Lib/importlib/_common.py @@ -87,14 +87,16 @@ def _tempfile(reader, suffix=''): # properly. fd, raw_path = tempfile.mkstemp(suffix=suffix) try: - os.write(fd, reader()) - os.close(fd) + try: + os.write(fd, reader()) + finally: + os.close(fd) del reader yield pathlib.Path(raw_path) finally: try: os.remove(raw_path) - except (FileNotFoundError, PermissionError): + except FileNotFoundError: pass diff --git a/Makefile.pre.in b/Makefile.pre.in index bf023a084dc4..f503ac4d8767 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -1516,6 +1516,7 @@ TESTSUBDIRS= ctypes/test \ test/test_importlib/namespace_pkgs/project3/parent/child \ test/test_importlib/namespacedata01 \ test/test_importlib/partial \ + test/test_importlib/resources \ test/test_importlib/source \ test/test_importlib/zipdata01 \ test/test_importlib/zipdata02 \