aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2023-01-08 01:08:21 -0500
committerNirbheek Chauhan <nirbheek@centricular.com>2023-02-19 02:55:58 +0530
commitaf1fbf5b62d89f7ed2e169ae1c602cbf2eb98487 (patch)
tree29974379b3bd6cb599ef9caca3f0435fe408d3e6
parent5f65d5955142a92b1b41787ad7eff2736d6bde99 (diff)
downloadmeson-af1fbf5b62d89f7ed2e169ae1c602cbf2eb98487.zip
meson-af1fbf5b62d89f7ed2e169ae1c602cbf2eb98487.tar.gz
meson-af1fbf5b62d89f7ed2e169ae1c602cbf2eb98487.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
-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 97436b7..9b1795b 100644
--- a/mesonbuild/wrap/wrap.py
+++ b/mesonbuild/wrap/wrap.py
@@ -680,7 +680,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: