Module: wine Branch: master Commit: 8b97263daee7f17fdb2e9f47e654096c6d82aed8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8b97263daee7f17fdb2e9f47e6...
Author: Alexandre Julliard julliard@winehq.org Date: Wed May 21 14:23:29 2008 +0200
kernel32: Fix the profile file sharing modes.
Based on a patch by Louis Lenders.
---
dlls/kernel32/profile.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/dlls/kernel32/profile.c b/dlls/kernel32/profile.c index f58a989..a412e1e 100644 --- a/dlls/kernel32/profile.c +++ b/dlls/kernel32/profile.c @@ -666,7 +666,8 @@ static BOOL PROFILE_FlushFile(void)
if (!CurProfile->changed) return TRUE;
- hFile = CreateFileW(CurProfile->filename, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); + hFile = CreateFileW(CurProfile->filename, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) { @@ -752,9 +753,10 @@ static BOOL PROFILE_Open( LPCWSTR filename ) }
TRACE("path: %s\n", debugstr_w(buffer)); - - hFile = CreateFileW(buffer, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); - + + hFile = CreateFileW(buffer, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if ((hFile == INVALID_HANDLE_VALUE) && (GetLastError() != ERROR_FILE_NOT_FOUND)) { WARN("Error %d opening file %s\n", GetLastError(), debugstr_w(buffer));