summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/windows/LockFile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/sys/windows/LockFile.cpp')
-rwxr-xr-xcpp/src/qpid/sys/windows/LockFile.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/cpp/src/qpid/sys/windows/LockFile.cpp b/cpp/src/qpid/sys/windows/LockFile.cpp
index 9804020167..766fa6466a 100755
--- a/cpp/src/qpid/sys/windows/LockFile.cpp
+++ b/cpp/src/qpid/sys/windows/LockFile.cpp
@@ -37,10 +37,10 @@ LockFile::LockFile(const std::string& path_, bool create)
: path(path_), created(create) {
HANDLE h = CreateFile(path.c_str(),
- GENERIC_READ|GENERIC_WRITE,
- 0, /* Disable opens by any other attempter */
+ create ? (GENERIC_READ|GENERIC_WRITE) : GENERIC_READ,
+ FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
0, /* Default security */
- OPEN_ALWAYS, /* Create if needed */
+ create ? OPEN_ALWAYS : OPEN_EXISTING,
FILE_FLAG_DELETE_ON_CLOSE, /* Delete file when closed */
NULL);
QPID_WINDOWS_CHECK_NOT(h, INVALID_HANDLE_VALUE);