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
 -----------