diff options
| author | Tarek Ziadé <ziade.tarek@gmail.com> | 2010-05-05 22:21:13 (GMT) |
|---|---|---|
| committer | Tarek Ziadé <ziade.tarek@gmail.com> | 2010-05-05 22:21:13 (GMT) |
| commit | 06f78cd91eb43b9b5b5ce4e12decadb2de35fc9e (patch) | |
| tree | 590d5695e5c0afcea89f8d741f407cb7eeaabbb6 /Lib/shutil.py | |
| parent | 6bb7c4f2efafb8d5a34f2e7a980342e2e4abfd49 (diff) | |
| download | cpython-06f78cd91eb43b9b5b5ce4e12decadb2de35fc9e.zip cpython-06f78cd91eb43b9b5b5ce4e12decadb2de35fc9e.tar.gz cpython-06f78cd91eb43b9b5b5ce4e12decadb2de35fc9e.tar.bz2 | |
Merged revisions 80830 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r80830 | tarek.ziade | 2010-05-06 00:15:31 +0200 (Thu, 06 May 2010) | 1 line
Fixed #4265: shutil.copyfile() was leaking file descriptors when disk fills
........
Diffstat (limited to 'Lib/shutil.py')
| -rw-r--r-- | Lib/shutil.py | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/Lib/shutil.py b/Lib/shutil.py index 4b62cbb..4c182ae 100644 --- a/Lib/shutil.py +++ b/Lib/shutil.py @@ -45,19 +45,11 @@ def _samefile(src, dst): def copyfile(src, dst): """Copy data from src to dst""" if _samefile(src, dst): - raise Error, "`%s` and `%s` are the same file" % (src, dst) + raise Error("`%s` and `%s` are the same file" % (src, dst)) - fsrc = None - fdst = None - try: - fsrc = open(src, 'rb') - fdst = open(dst, 'wb') - copyfileobj(fsrc, fdst) - finally: - if fdst: - fdst.close() - if fsrc: - fsrc.close() + with open(src, 'rb') as fsrc: + with open(dst, 'wb') as fdst: + copyfileobj(fsrc, fdst) def copymode(src, dst): """Copy mode bits from src to dst""" |
