From 7ab2892eb068adba51fac0652a70d3ec9649395b Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Sun, 8 Jan 2023 01:08:21 -0500 Subject: wrap: ensure the tempfile used for downloading is closed This is generally a good idea, and the tempfile is already instructed to not auto-delete on close. It also fixes a bug on PyPy, where the file isn't valid because it's not explicitly closed. This is probably due to the garbage collection modes -- in CPython, the object goes out of scope and gets automatically closed before we actually attempt to unpack it. Fixes #11246 --- mesonbuild/wrap/wrap.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mesonbuild') diff --git a/mesonbuild/wrap/wrap.py b/mesonbuild/wrap/wrap.py index 313b749..3effc65 100644 --- a/mesonbuild/wrap/wrap.py +++ b/mesonbuild/wrap/wrap.py @@ -676,7 +676,7 @@ class Resolver: except urllib.error.URLError as e: mlog.log(str(e)) raise WrapException(f'could not get {urlstring} is the internet available?') - with contextlib.closing(resp) as resp: + with contextlib.closing(resp) as resp, tmpfile as tmpfile: try: dlsize = int(resp.info()['Content-Length']) except TypeError: -- cgit v1.1