<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -25,5 +25,13 @@ def ensure_path(path, check_exists = True):
         if os.path.isfile(path):
                 os.remove(path)
         dir, fname = os.path.split(path)
-        if not os.path.exists(dir):
+        try:
                 os.makedirs(dir)
+        except OSError, x:
+                if x.errno == 17:
+                        # File exists is ok, it may happen
+                        # if two tasks are racing to create
+                        # the directory
+                        pass
+                else:
+                        raise x</diff>
      <filename>node/disconode/util.py</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>7dfd101c17a2b7ff40ec657c93c175ce8023f995</id>
    </parent>
  </parents>
  <author>
    <name>Ville Tuulos</name>
    <email>tuulos@nxfront.nokiapaloalto.com</email>
  </author>
  <url>http://github.com/mojombo/disco/commit/c88cb2c9660b5c4c23e2c581bac066d20fe5e935</url>
  <id>c88cb2c9660b5c4c23e2c581bac066d20fe5e935</id>
  <committed-date>2008-10-07T22:33:45-07:00</committed-date>
  <authored-date>2008-10-07T22:33:45-07:00</authored-date>
  <message>bugfix: race condition in disconode.util.ensure_path fixed</message>
  <tree>3f650bfba5d6007c7ccc6e968e0e4325d5527637</tree>
  <committer>
    <name>Ville Tuulos</name>
    <email>tuulos@nxfront.nokiapaloalto.com</email>
  </committer>
</commit>
