diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-05-16 19:47:58 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-05-16 19:47:58 +0000 |
commit | b76161e41bc2c07cd47f9c61f875d1be95e26d10 (patch) | |
tree | d03c19ce10dec6419f97df1d4dac9d47eb88982f /source/Host/windows/LockFileWindows.cpp | |
parent | 8b4000f13b303cc154136abc74c55670673e2a96 (diff) |
Notes
Diffstat (limited to 'source/Host/windows/LockFileWindows.cpp')
-rw-r--r-- | source/Host/windows/LockFileWindows.cpp | 31 |
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(); } |