summaryrefslogtreecommitdiff
path: root/source/Host/windows/LockFileWindows.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-05-16 19:47:58 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-05-16 19:47:58 +0000
commitb76161e41bc2c07cd47f9c61f875d1be95e26d10 (patch)
treed03c19ce10dec6419f97df1d4dac9d47eb88982f /source/Host/windows/LockFileWindows.cpp
parent8b4000f13b303cc154136abc74c55670673e2a96 (diff)
Notes
Diffstat (limited to 'source/Host/windows/LockFileWindows.cpp')
-rw-r--r--source/Host/windows/LockFileWindows.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/source/Host/windows/LockFileWindows.cpp b/source/Host/windows/LockFileWindows.cpp
index 0e7f595e6cfd..2178fd1f5f6c 100644
--- a/source/Host/windows/LockFileWindows.cpp
+++ b/source/Host/windows/LockFileWindows.cpp
@@ -16,22 +16,22 @@ using namespace lldb_private;
namespace {
-Error fileLock(HANDLE file_handle, DWORD flags, const uint64_t start,
- const uint64_t len) {
+Status fileLock(HANDLE file_handle, DWORD flags, const uint64_t start,
+ const uint64_t len) {
if (start != 0)
- return Error("Non-zero start lock regions are not supported");
+ return Status("Non-zero start lock regions are not supported");
OVERLAPPED overlapped = {};
if (!::LockFileEx(file_handle, flags, 0, len, 0, &overlapped) &&
::GetLastError() != ERROR_IO_PENDING)
- return Error(::GetLastError(), eErrorTypeWin32);
+ return Status(::GetLastError(), eErrorTypeWin32);
DWORD bytes;
if (!::GetOverlappedResult(file_handle, &overlapped, &bytes, TRUE))
- return Error(::GetLastError(), eErrorTypeWin32);
+ return Status(::GetLastError(), eErrorTypeWin32);
- return Error();
+ return Status();
}
} // namespace
@@ -45,34 +45,35 @@ bool LockFileWindows::IsValidFile() const {
return LockFileBase::IsValidFile() && m_file != INVALID_HANDLE_VALUE;
}
-Error LockFileWindows::DoWriteLock(const uint64_t start, const uint64_t len) {
+Status LockFileWindows::DoWriteLock(const uint64_t start, const uint64_t len) {
return fileLock(m_file, LOCKFILE_EXCLUSIVE_LOCK, start, len);
}
-Error LockFileWindows::DoTryWriteLock(const uint64_t start,
- const uint64_t len) {
+Status LockFileWindows::DoTryWriteLock(const uint64_t start,
+ const uint64_t len) {
return fileLock(m_file, LOCKFILE_EXCLUSIVE_LOCK | LOCKFILE_FAIL_IMMEDIATELY,
start, len);
}
-Error LockFileWindows::DoReadLock(const uint64_t start, const uint64_t len) {
+Status LockFileWindows::DoReadLock(const uint64_t start, const uint64_t len) {
return fileLock(m_file, 0, start, len);
}
-Error LockFileWindows::DoTryReadLock(const uint64_t start, const uint64_t len) {
+Status LockFileWindows::DoTryReadLock(const uint64_t start,
+ const uint64_t len) {
return fileLock(m_file, LOCKFILE_FAIL_IMMEDIATELY, start, len);
}
-Error LockFileWindows::DoUnlock() {
+Status LockFileWindows::DoUnlock() {
OVERLAPPED overlapped = {};
if (!::UnlockFileEx(m_file, 0, m_len, 0, &overlapped) &&
::GetLastError() != ERROR_IO_PENDING)
- return Error(::GetLastError(), eErrorTypeWin32);
+ return Status(::GetLastError(), eErrorTypeWin32);
DWORD bytes;
if (!::GetOverlappedResult(m_file, &overlapped, &bytes, TRUE))
- return Error(::GetLastError(), eErrorTypeWin32);
+ return Status(::GetLastError(), eErrorTypeWin32);
- return Error();
+ return Status();
}