summaryrefslogtreecommitdiffstats
path: root/lldb/source/Host/windows
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Host/windows')
-rw-r--r--lldb/source/Host/windows/Condition.cpp11
-rw-r--r--lldb/source/Host/windows/Mutex.cpp18
-rw-r--r--lldb/source/Host/windows/ProcessRunLock.cpp1
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 {
OpenPOWER on IntegriCloud