Merge pull request #84 from scroyston/0.10

Fix for mkdirs race condition
This commit is contained in:
Mark Harrah 2011-07-01 05:37:32 -07:00
commit cf17a578a1
1 changed files with 6 additions and 2 deletions

View File

@ -86,10 +86,14 @@ object IO
def createDirectory(dir: File): Unit =
{
def failBase = "Could not create directory " + dir
if(dir.isDirectory || dir.mkdirs())
// Need a retry because mkdirs() has a race condition
var tryCount = 0
while (!dir.exists && !dir.mkdirs() && tryCount < 100) { tryCount += 1 }
if(dir.isDirectory)
()
else if(dir.exists)
else if(dir.exists) {
error(failBase + ": file exists and is not a directory.")
}
else
error(failBase)
}