Fix "ResourceWarning: unclosed file" with Python 3.2.
authorArfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Sun, 28 Aug 2011 19:54:23 +0000 (21:54 +0200)
committerArfrever Frehtes Taifersar Arahesis <Arfrever@Gentoo.Org>
Sun, 28 Aug 2011 19:54:23 +0000 (21:54 +0200)
pym/portage/package/ebuild/doebuild.py

index aa9218c69c631ca5a3a981bd89dd8290fe62e261..47b4ec400b6c6fef67ab684da5244a69c35030ff 100644 (file)
@@ -1692,14 +1692,17 @@ def _post_src_install_soname_symlinks(mysettings, out):
                "build-info", "NEEDED.ELF.2")
 
        try:
-               lines = io.open(_unicode_encode(needed_filename,
+               f = io.open(_unicode_encode(needed_filename,
                        encoding=_encodings['fs'], errors='strict'),
                        mode='r', encoding=_encodings['repo.content'],
-                       errors='replace').readlines()
+                       errors='replace')
+               lines = f.readlines()
        except IOError as e:
                if e.errno not in (errno.ENOENT, errno.ESTALE):
                        raise
                return
+       finally:
+               f.close()
 
        libpaths = set(portage.util.getlibpaths(
                mysettings["ROOT"], env=mysettings))