From: Douglas Gregor Date: Fri, 5 Apr 2013 20:48:36 +0000 (+0000) Subject: Fix yet another race in unique_file. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0591f19c8b84311288ef19f76952c334b9730681;p=oota-llvm.git Fix yet another race in unique_file. If the directory that will contain the unique file doesn't exist when we tried to create the file, but another process creates it before we get a chance to try creating it, we would bail out rather than try to create the unique file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178908 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Support/Unix/PathV2.inc b/lib/Support/Unix/PathV2.inc index a3dfd4b0a32..7e0aead151b 100644 --- a/lib/Support/Unix/PathV2.inc +++ b/lib/Support/Unix/PathV2.inc @@ -430,9 +430,7 @@ rety_open_create: if (SavedErrno == errc::file_exists) goto retry_random_path; // If path prefix doesn't exist, try to create it. - if (SavedErrno == errc::no_such_file_or_directory && - !exists(path::parent_path(RandomPath)) && - !TriedToCreateParent) { + if (SavedErrno == errc::no_such_file_or_directory && !TriedToCreateParent) { TriedToCreateParent = true; StringRef p(RandomPath); SmallString<64> dir_to_create;