aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/wrap
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2023-01-08 01:08:21 -0500
committerXavier Claessens <xclaesse@gmail.com>2023-02-13 09:09:10 -0500
commit7ab2892eb068adba51fac0652a70d3ec9649395b (patch)
treebc74cb551f4522d1f9e836c3007ed10459b00245 /mesonbuild/wrap
parente0b63d539e7374faa15903c73cdd0e86a31da1e3 (diff)
downloadmeson-7ab2892eb068adba51fac0652a70d3ec9649395b.zip
meson-7ab2892eb068adba51fac0652a70d3ec9649395b.tar.gz
meson-7ab2892eb068adba51fac0652a70d3ec9649395b.tar.bz2
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
Diffstat (limited to 'mesonbuild/wrap')
-rw-r--r--mesonbuild/wrap/wrap.py2
1 files changed, 1 insertions, 1 deletions
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: