diff options
Diffstat (limited to 'lldb/source/Host/windows')
| -rw-r--r-- | lldb/source/Host/windows/Condition.cpp | 11 | ||||
| -rw-r--r-- | lldb/source/Host/windows/Mutex.cpp | 18 | ||||
| -rw-r--r-- | lldb/source/Host/windows/ProcessRunLock.cpp | 1 |
3 files changed, 19 insertions, 11 deletions
diff --git a/lldb/source/Host/windows/Condition.cpp b/lldb/source/Host/windows/Condition.cpp index efece6d7519..72f0e38028d 100644 --- a/lldb/source/Host/windows/Condition.cpp +++ b/lldb/source/Host/windows/Condition.cpp @@ -11,6 +11,7 @@ #include "lldb/Host/Condition.h" #include "lldb/Host/TimeValue.h" +#include "lldb/Host/windows/windows.h" using namespace lldb_private; @@ -24,7 +25,8 @@ using namespace lldb_private; Condition::Condition () : m_condition() { - InitializeConditionVariable(&m_condition); + m_condition = static_cast<PCONDITION_VARIABLE>(malloc(sizeof(CONDITION_VARIABLE))); + InitializeConditionVariable(static_cast<PCONDITION_VARIABLE>(m_condition)); } //---------------------------------------------------------------------- @@ -34,6 +36,7 @@ Condition::Condition () : //---------------------------------------------------------------------- Condition::~Condition () { + free(m_condition); } //---------------------------------------------------------------------- @@ -42,7 +45,7 @@ Condition::~Condition () int Condition::Broadcast () { - WakeAllConditionVariable(&m_condition); + WakeAllConditionVariable(static_cast<PCONDITION_VARIABLE>(m_condition)); return 0; } @@ -52,7 +55,7 @@ Condition::Broadcast () int Condition::Signal () { - WakeConditionVariable(&m_condition); + WakeConditionVariable(static_cast<PCONDITION_VARIABLE>(m_condition)); return 0; } @@ -80,7 +83,7 @@ Condition::Wait (Mutex &mutex, const TimeValue *abstime, bool *timed_out) wait = wval; } - int err = SleepConditionVariableCS(&m_condition, &mutex.m_mutex, wait); + int err = SleepConditionVariableCS(static_cast<PCONDITION_VARIABLE>(m_condition), static_cast<PCRITICAL_SECTION>(mutex.m_mutex), wait); if (timed_out != NULL) { diff --git a/lldb/source/Host/windows/Mutex.cpp b/lldb/source/Host/windows/Mutex.cpp index 602ca1a3477..ed90f46eb54 100644 --- a/lldb/source/Host/windows/Mutex.cpp +++ b/lldb/source/Host/windows/Mutex.cpp @@ -9,6 +9,7 @@ #include "lldb/Host/Mutex.h" #include "lldb/Host/Host.h" +#include "lldb/Host/windows/windows.h" #include <string.h> #include <stdio.h> @@ -33,7 +34,8 @@ using namespace lldb_private; Mutex::Mutex () : m_mutex() { - InitializeCriticalSection(&m_mutex); + m_mutex = static_cast<PCRITICAL_SECTION>(malloc(sizeof(CRITICAL_SECTION))); + InitializeCriticalSection(static_cast<PCRITICAL_SECTION>(m_mutex)); } //---------------------------------------------------------------------- @@ -44,7 +46,8 @@ Mutex::Mutex () : Mutex::Mutex (Mutex::Type type) : m_mutex() { - InitializeCriticalSection(&m_mutex); + m_mutex = static_cast<PCRITICAL_SECTION>(malloc(sizeof(CRITICAL_SECTION))); + InitializeCriticalSection(static_cast<PCRITICAL_SECTION>(m_mutex)); } //---------------------------------------------------------------------- @@ -54,7 +57,8 @@ Mutex::Mutex (Mutex::Type type) : //---------------------------------------------------------------------- Mutex::~Mutex() { - DeleteCriticalSection(&m_mutex); + DeleteCriticalSection(static_cast<PCRITICAL_SECTION>(m_mutex)); + free(m_mutex); } //---------------------------------------------------------------------- @@ -68,9 +72,9 @@ Mutex::~Mutex() int Mutex::Lock() { - DEBUG_LOG ("[%4.4" PRIx64 "/%4.4" PRIx64 "] pthread_mutex_lock (%p)...\n", Host::GetCurrentProcessID(), Host::GetCurrentThreadID(), &m_mutex); + DEBUG_LOG ("[%4.4" PRIx64 "/%4.4" PRIx64 "] pthread_mutex_lock (%p)...\n", Host::GetCurrentProcessID(), Host::GetCurrentThreadID(), m_mutex); - EnterCriticalSection(&m_mutex); + EnterCriticalSection(static_cast<PCRITICAL_SECTION>(m_mutex)); return 0; } @@ -85,7 +89,7 @@ Mutex::Lock() int Mutex::TryLock(const char *failure_message) { - return TryEnterCriticalSection(&m_mutex) == 0; + return TryEnterCriticalSection(static_cast<PCRITICAL_SECTION>(m_mutex)) == 0; } //---------------------------------------------------------------------- @@ -100,6 +104,6 @@ Mutex::TryLock(const char *failure_message) int Mutex::Unlock() { - LeaveCriticalSection(&m_mutex); + LeaveCriticalSection(static_cast<PCRITICAL_SECTION>(m_mutex)); return 0; } diff --git a/lldb/source/Host/windows/ProcessRunLock.cpp b/lldb/source/Host/windows/ProcessRunLock.cpp index ae9a9733c16..97ec0ebce15 100644 --- a/lldb/source/Host/windows/ProcessRunLock.cpp +++ b/lldb/source/Host/windows/ProcessRunLock.cpp @@ -1,6 +1,7 @@ #ifdef _WIN32 #include "lldb/Host/ProcessRunLock.h" +#include "lldb/Host/windows/windows.h" namespace lldb_private { |

