Add FILE_SHARE_WRITE to openFileForRead.
authorRafael Espindola <rafael.espindola@gmail.com>
Wed, 17 Jul 2013 19:44:07 +0000 (19:44 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Wed, 17 Jul 2013 19:44:07 +0000 (19:44 +0000)
This should fix the windows bots. It looks like the failing tests are of the
form

prog1 > file
prog2 file

and prog2 fails trying to read the file. The best fix would probably be to close
stdout/stderr in prog1, but it was not the intention of 186511 to change this,
so just restore the old behavior for now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186530 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/Windows/Path.inc

index 1da60d67118e15df8cb307cf6cbf537d52fbb02b..d51332ef81cf477a7e7620040ba56fb714901d65 100644 (file)
@@ -1050,7 +1050,7 @@ error_code openFileForRead(const Twine &Name, int &ResultFD) {
     return EC;
 
   HANDLE H = ::CreateFileW(PathUTF16.begin(), GENERIC_READ,
-                           FILE_SHARE_READ, NULL,
+                           FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
                            OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
   if (H == INVALID_HANDLE_VALUE) {
     error_code EC = windows_error(::GetLastError());