[pypy-commit] pypy py3.6: merge fix-leak-of-file-descriptor-with-_iofile which fixes a resource leak
mattip
pypy.commits at gmail.com
Wed Jun 5 01:51:20 EDT 2019
Author: mattip <matti.picus at gmail.com>
Branch: py3.6
Changeset: r96745:7c2732ad825a
Date: 2019-06-05 05:50 +0000
http://bitbucket.org/pypy/pypy/changeset/7c2732ad825a/
Log: merge fix-leak-of-file-descriptor-with-_iofile which fixes a
resource leak
diff --git a/pypy/module/_io/interp_fileio.py b/pypy/module/_io/interp_fileio.py
--- a/pypy/module/_io/interp_fileio.py
+++ b/pypy/module/_io/interp_fileio.py
@@ -256,6 +256,7 @@
except:
if not fd_is_own:
self.fd = -1
+ self._close(space)
raise
def _mode(self):
diff --git a/pypy/module/_io/test/test_fileio.py b/pypy/module/_io/test/test_fileio.py
--- a/pypy/module/_io/test/test_fileio.py
+++ b/pypy/module/_io/test/test_fileio.py
@@ -57,8 +57,11 @@
def test_open_directory(self):
import _io
- import os
- raises(IOError, _io.FileIO, self.tmpdir, "rb")
+ import os, warnings
+ with warnings.catch_warnings(record=True) as w:
+ warnings.simplefilter('always', ResourceWarning)
+ raises(IOError, _io.FileIO, self.tmpdir, "rb")
+ assert len(w) == 0
if os.name != 'nt':
fd = os.open(self.tmpdir, os.O_RDONLY)
raises(IOError, _io.FileIO, fd, "rb")
More information about the pypy-commit
mailing list