From: Éric Araujo Date: Sat, 6 Nov 2010 04:53:42 +0000 (+0000) Subject: Merged revisions 86244 via svnmerge from X-Git-Tag: v2.7.1rc1~34 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e9954b56f4b119d5fef94ac05511f4a34f67adca;p=python Merged revisions 86244 via svnmerge from 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. ........ --- diff --git a/Lib/distutils/dir_util.py b/Lib/distutils/dir_util.py index 5a968063f7..d6875936d6 100644 --- a/Lib/distutils/dir_util.py +++ b/Lib/distutils/dir_util.py @@ -69,10 +69,11 @@ def mkpath(name, mode=0777, verbose=1, dry_run=0): if not dry_run: try: os.mkdir(head, mode) - created_dirs.append(head) except OSError, exc: - raise DistutilsFileError, \ - "could not create '%s': %s" % (head, exc[-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 diff --git a/Misc/NEWS b/Misc/NEWS index 21552c137c..1948498cce 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -69,6 +69,9 @@ Core and Builtins 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