Fix for issue 1149804
diff --git a/Lib/plat-mac/macostools.py b/Lib/plat-mac/macostools.py
index d7724fa..337cc7f 100644
--- a/Lib/plat-mac/macostools.py
+++ b/Lib/plat-mac/macostools.py
@@ -62,7 +62,14 @@
if os.sep == ':' and not ':' in head:
head = head + ':'
mkdirs(head)
- os.mkdir(dst, 0777)
+
+ try:
+ os.mkdir(dst, 0777)
+ except OSError, e:
+ # be happy if someone already created the path
+ if e.errno != errno.EEXIST:
+ raise
+
def touched(dst):
"""Tell the finder a file has changed. No-op on MacOSX."""
diff --git a/Misc/NEWS b/Misc/NEWS
index 03cc727..040ed5c 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -235,6 +235,9 @@
- Issue #1737832 : plat-mac/EasyDialog.py no longer uses the broken aepack
module.
+- Issue #1149804: macostools.mkdirs now even works when another process
+ creates one of the needed subdirectories.
+
Tools/Demos
-----------