]> granicus.if.org Git - python/commitdiff
Merged revisions 86244 via svnmerge from
authorÉric Araujo <merwok@netwok.org>
Sat, 6 Nov 2010 04:51:10 +0000 (04:51 +0000)
committerÉric Araujo <merwok@netwok.org>
Sat, 6 Nov 2010 04:51:10 +0000 (04:51 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r86244 | eric.araujo | 2010-11-06 05:48:05 +0100 (sam., 06 nov. 2010) | 3 lines

  Prevent race condition with mkdir in distutils.  Patch by Arfrever on #9281.
........

Lib/distutils/dir_util.py
Misc/NEWS

index 54376e5ca5a3e726a070c81dd55ff12396c0b75c..c7c9fccfd79fb049d07df793b43c6d508f7e3ab4 100644 (file)
@@ -69,10 +69,11 @@ def mkpath(name, mode=0o777, verbose=1, dry_run=0):
         if not dry_run:
             try:
                 os.mkdir(head, mode)
-                created_dirs.append(head)
             except OSError as exc:
-                raise DistutilsFileError(
-                      "could not create '%s': %s" % (head, exc.args[-1]))
+                if not (exc.errno == errno.EEXIST and os.path.isdir(head)):
+                    raise DistutilsFileError(
+                          "could not create '%s': %s" % (head, exc.args[-1]))
+            created_dirs.append(head)
 
         _path_created[abs_head] = 1
     return created_dirs
index ff3104468cccf336e25180242ee958d125cbf461..bbb9ba12807d4a24608dc92f4e69fe13963d9a96 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -143,6 +143,9 @@ C-API
 Library
 -------
 
+- Issue #9281: Prevent race condition with mkdir in distutils.  Patch by
+  Arfrever.
+
 - Issue #10229: Fix caching error in gettext.
 
 - Issue #10252: Close file objects in a timely manner in distutils code and