aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-07-16 14:06:26 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2017-07-18 00:33:08 +0200
commitdb34a3a7017d0096faa8d3f020efd078ad8a65e1 (patch)
treeec262cbf17ca153307e0b1c6fbbc0104af478a9e /mesonbuild
parent5eb64a6f3e47b570f544524ef48dc6ef0e4dce59 (diff)
downloadmeson-db34a3a7017d0096faa8d3f020efd078ad8a65e1.zip
meson-db34a3a7017d0096faa8d3f020efd078ad8a65e1.tar.gz
meson-db34a3a7017d0096faa8d3f020efd078ad8a65e1.tar.bz2
Close files reliably.
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/environment.py5
-rw-r--r--mesonbuild/scripts/depfixer.py5
2 files changed, 7 insertions, 3 deletions
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index b0002a0..a6da3f9 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -909,9 +909,8 @@ class CrossBuildInfo:
def parse_datafile(self, filename):
config = configparser.ConfigParser()
try:
- f = open(filename, 'r')
- config.read_file(f, filename)
- f.close()
+ with open(filename, 'r') as f:
+ config.read_file(f, filename)
except FileNotFoundError:
raise EnvironmentException('File not found: %s.' % filename)
# This is a bit hackish at the moment.
diff --git a/mesonbuild/scripts/depfixer.py b/mesonbuild/scripts/depfixer.py
index 1528ddb..ee63147 100644
--- a/mesonbuild/scripts/depfixer.py
+++ b/mesonbuild/scripts/depfixer.py
@@ -127,8 +127,13 @@ class Elf(DataSizes):
def __enter__(self):
return self
+ def __del__(self):
+ if self.bf:
+ self.bf.close()
+
def __exit__(self, exc_type, exc_value, traceback):
self.bf.close()
+ self.bf = None
def detect_elf_type(self):
data = self.bf.read(6)