forked from OSchip/llvm-project
7f68a71669
On Windows, fs::rename() could fail is another process was reading the file at the same time using fs::openFileForRead(). In most cases the user wouldn't notice as fs::rename() will continue to retry for 2000ms. Typically this is enough for the read to complete and a retry to succeed, but if the disk is being it too hard then the response time might be longer than the retry time and the rename would fail with a permission error. Add FILE_SHARE_DELETE to the sharing flags for CreateFileW() in fs::openFileForRead() and try ReplaceFileW() prior to MoveFileExW() in fs::rename(). Based on an initial patch by Edd Dawson! Differential Revision: http://reviews.llvm.org/D13647 llvm-svn: 250046 |
||
---|---|---|
.. | ||
COM.inc | ||
DynamicLibrary.inc | ||
Host.inc | ||
Memory.inc | ||
Mutex.inc | ||
Path.inc | ||
Process.inc | ||
Program.inc | ||
RWMutex.inc | ||
Signals.inc | ||
ThreadLocal.inc | ||
TimeValue.inc | ||
Watchdog.inc | ||
WindowsSupport.h | ||
explicit_symbols.inc |