[Python-checkins] cpython (2.7): Fix file handle leak

eric.araujo python-checkins at python.org
Mon May 2 13:39:18 CEST 2011


http://hg.python.org/cpython/rev/648d9ce2e426
changeset:   69769:648d9ce2e426
branch:      2.7
user:        Éric Araujo <merwok at netwok.org>
date:        Sun May 01 02:05:58 2011 +0200
summary:
  Fix file handle leak

files:
  Lib/distutils/command/sdist.py |  23 ++++++++++++---------
  1 files changed, 13 insertions(+), 10 deletions(-)


diff --git a/Lib/distutils/command/sdist.py b/Lib/distutils/command/sdist.py
--- a/Lib/distutils/command/sdist.py
+++ b/Lib/distutils/command/sdist.py
@@ -306,17 +306,20 @@
                             rstrip_ws=1,
                             collapse_join=1)
 
-        while 1:
-            line = template.readline()
-            if line is None:            # end of file
-                break
+        try:
+            while 1:
+                line = template.readline()
+                if line is None:            # end of file
+                    break
 
-            try:
-                self.filelist.process_template_line(line)
-            except DistutilsTemplateError, msg:
-                self.warn("%s, line %d: %s" % (template.filename,
-                                               template.current_line,
-                                               msg))
+                try:
+                    self.filelist.process_template_line(line)
+                except DistutilsTemplateError, msg:
+                    self.warn("%s, line %d: %s" % (template.filename,
+                                                   template.current_line,
+                                                   msg))
+        finally:
+            template.close()
 
     def prune_file_list(self):
         """Prune off branches that might slip into the file list as created

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list