From 47c3e8875cf13f5b30341ff13282a9c44f5047ae Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 17 Mar 2010 17:04:01 -0400 Subject: [PATCH] Windows: open files for read+write sharing, to match Unix. --- src/platform_pocketpc.c | 4 ++-- src/platform_windows.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/platform_pocketpc.c b/src/platform_pocketpc.c index d0ed6760..6a1a2eb4 100644 --- a/src/platform_pocketpc.c +++ b/src/platform_pocketpc.c @@ -331,8 +331,8 @@ static void *doOpen(const char *fname, DWORD mode, DWORD creation, int rdonly) wchar_t *w_fname = NULL; UTF8_TO_UNICODE_STACK_MACRO(w_fname, fname); - fileHandle = CreateFile(w_fname, mode, FILE_SHARE_READ, NULL, - creation, FILE_ATTRIBUTE_NORMAL, NULL); + fileHandle = CreateFile(w_fname, mode, FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, creation, FILE_ATTRIBUTE_NORMAL, NULL); __PHYSFS_smallFree(w_fname); BAIL_IF_MACRO(fileHandle == INVALID_HANDLE_VALUE, win32strerror(), NULL); diff --git a/src/platform_windows.c b/src/platform_windows.c index 0f89e0a6..24f7bb0a 100644 --- a/src/platform_windows.c +++ b/src/platform_windows.c @@ -989,8 +989,8 @@ static void *doOpen(const char *fname, DWORD mode, DWORD creation, int rdonly) UTF8_TO_UNICODE_STACK_MACRO(wfname, fname); BAIL_IF_MACRO(wfname == NULL, ERR_OUT_OF_MEMORY, NULL); - fileHandle = pCreateFileW(wfname, mode, FILE_SHARE_READ, NULL, - creation, FILE_ATTRIBUTE_NORMAL, NULL); + fileHandle = pCreateFileW(wfname, mode, FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, creation, FILE_ATTRIBUTE_NORMAL, NULL); __PHYSFS_smallFree(wfname); BAIL_IF_MACRO