diff options
Diffstat (limited to 'lldb/source/Host/windows/ProcessRunLock.cpp')
-rw-r--r-- | lldb/source/Host/windows/ProcessRunLock.cpp | 115 |
1 files changed, 46 insertions, 69 deletions
diff --git a/lldb/source/Host/windows/ProcessRunLock.cpp b/lldb/source/Host/windows/ProcessRunLock.cpp index 1f21552a306..590007b3479 100644 --- a/lldb/source/Host/windows/ProcessRunLock.cpp +++ b/lldb/source/Host/windows/ProcessRunLock.cpp @@ -1,106 +1,83 @@ #include "lldb/Host/ProcessRunLock.h" #include "lldb/Host/windows/windows.h" -namespace -{ +namespace { #if defined(__MINGW32__) // Taken from WinNT.h -typedef struct _RTL_SRWLOCK { - PVOID Ptr; -} RTL_SRWLOCK, *PRTL_SRWLOCK; +typedef struct _RTL_SRWLOCK { PVOID Ptr; } RTL_SRWLOCK, *PRTL_SRWLOCK; // Taken from WinBase.h typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK; #endif } - -static PSRWLOCK GetLock(lldb::rwlock_t lock) -{ - return static_cast<PSRWLOCK>(lock); +static PSRWLOCK GetLock(lldb::rwlock_t lock) { + return static_cast<PSRWLOCK>(lock); } -static bool ReadLock(lldb::rwlock_t rwlock) -{ - ::AcquireSRWLockShared(GetLock(rwlock)); - return true; +static bool ReadLock(lldb::rwlock_t rwlock) { + ::AcquireSRWLockShared(GetLock(rwlock)); + return true; } -static bool ReadUnlock(lldb::rwlock_t rwlock) -{ - ::ReleaseSRWLockShared(GetLock(rwlock)); - return true; +static bool ReadUnlock(lldb::rwlock_t rwlock) { + ::ReleaseSRWLockShared(GetLock(rwlock)); + return true; } -static bool WriteLock(lldb::rwlock_t rwlock) -{ - ::AcquireSRWLockExclusive(GetLock(rwlock)); - return true; +static bool WriteLock(lldb::rwlock_t rwlock) { + ::AcquireSRWLockExclusive(GetLock(rwlock)); + return true; } -static bool WriteTryLock(lldb::rwlock_t rwlock) -{ - return !!::TryAcquireSRWLockExclusive(GetLock(rwlock)); +static bool WriteTryLock(lldb::rwlock_t rwlock) { + return !!::TryAcquireSRWLockExclusive(GetLock(rwlock)); } -static bool WriteUnlock(lldb::rwlock_t rwlock) -{ - ::ReleaseSRWLockExclusive(GetLock(rwlock)); - return true; +static bool WriteUnlock(lldb::rwlock_t rwlock) { + ::ReleaseSRWLockExclusive(GetLock(rwlock)); + return true; } using namespace lldb_private; -ProcessRunLock::ProcessRunLock() - : m_running(false) -{ - m_rwlock = new SRWLOCK; - InitializeSRWLock(GetLock(m_rwlock)); +ProcessRunLock::ProcessRunLock() : m_running(false) { + m_rwlock = new SRWLOCK; + InitializeSRWLock(GetLock(m_rwlock)); } -ProcessRunLock::~ProcessRunLock() -{ - delete m_rwlock; -} +ProcessRunLock::~ProcessRunLock() { delete m_rwlock; } -bool ProcessRunLock::ReadTryLock() -{ - ::ReadLock(m_rwlock); - if (m_running == false) - return true; - ::ReadUnlock(m_rwlock); - return false; +bool ProcessRunLock::ReadTryLock() { + ::ReadLock(m_rwlock); + if (m_running == false) + return true; + ::ReadUnlock(m_rwlock); + return false; } -bool ProcessRunLock::ReadUnlock() -{ - return ::ReadUnlock(m_rwlock); +bool ProcessRunLock::ReadUnlock() { return ::ReadUnlock(m_rwlock); } + +bool ProcessRunLock::SetRunning() { + WriteLock(m_rwlock); + m_running = true; + WriteUnlock(m_rwlock); + return true; } -bool ProcessRunLock::SetRunning () -{ - WriteLock(m_rwlock); +bool ProcessRunLock::TrySetRunning() { + if (WriteTryLock(m_rwlock)) { + bool was_running = m_running; m_running = true; WriteUnlock(m_rwlock); - return true; -} - -bool ProcessRunLock::TrySetRunning () -{ - if (WriteTryLock(m_rwlock)) - { - bool was_running = m_running; - m_running = true; - WriteUnlock(m_rwlock); - return !was_running; - } - return false; + return !was_running; + } + return false; } -bool ProcessRunLock::SetStopped () -{ - WriteLock(m_rwlock); - m_running = false; - WriteUnlock(m_rwlock); - return true; +bool ProcessRunLock::SetStopped() { + WriteLock(m_rwlock); + m_running = false; + WriteUnlock(m_rwlock); + return true; } |