Revert r114320(move file = copy + delete on Win32). r115040 is a better solution for the Win32 ACCESS_DENIED lit error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115114 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Francois Pichet 2010-09-30 00:44:58 +00:00
parent 2e38c7f5e6
commit 3eddd98be3

View File

@ -745,19 +745,12 @@ bool Path::getMagicNumber(std::string& Magic, unsigned len) const {
return true;
}
// Implements renamePathOnDisk as a CopyFile + eraseFromDisk on Windows.
// Using MoveFileEx was causing mysterious ACCESS_DENIED error when used
// within a multithreaded lit/python context.
// FIXME: put back MoveFileEx when the source of the problem is resolved.
bool
Path::renamePathOnDisk(const Path& newName, std::string* ErrMsg) {
if (*this == newName)
return false;
if (CopyFile(newName, *this, ErrMsg))
return true;
return eraseFromDisk(true, ErrMsg);
if (!MoveFileEx(path.c_str(), newName.c_str(), MOVEFILE_REPLACE_EXISTING))
return MakeErrMsg(ErrMsg, "Can't move '" + path + "' to '" + newName.path
+ "': ");
return false;
}
bool