summaryrefslogtreecommitdiff
path: root/source/api_wrappers/linux/CThreadWrapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/api_wrappers/linux/CThreadWrapper.cpp')
-rw-r--r--source/api_wrappers/linux/CThreadWrapper.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/source/api_wrappers/linux/CThreadWrapper.cpp b/source/api_wrappers/linux/CThreadWrapper.cpp
index 4fe9362..5d38fcf 100644
--- a/source/api_wrappers/linux/CThreadWrapper.cpp
+++ b/source/api_wrappers/linux/CThreadWrapper.cpp
@@ -35,6 +35,7 @@ CThreadWrapper::CThreadWrapper(void *(*pStartAddress)(void *), void *pArgument)
m_pStartAddress = pStartAddress;
m_pArgument = pArgument;
m_tid = (pthread_t)0;
+ m_ThreadEndedEvt = new CEventObject();
}
// ******************************************************************************
@@ -44,6 +45,7 @@ CThreadWrapper::CThreadWrapper(void *(*pStartAddress)(void *), void *pArgument)
// ******************************************************************************
CThreadWrapper::~CThreadWrapper()
{
+ delete m_ThreadEndedEvt;
}
// ******************************************************************************
@@ -53,8 +55,8 @@ CThreadWrapper::~CThreadWrapper()
// ******************************************************************************
DWORD CThreadWrapper::Wait(DWORD dwMilliseconds)
{
- if ((int)m_tid != 0) {
- return m_ThreadEndedEvt.Wait(dwMilliseconds);
+ if (m_tid != 0) {
+ return m_ThreadEndedEvt->Wait(dwMilliseconds);
} else {
return WAIT_OBJECT_0;
}
@@ -102,7 +104,7 @@ void *CThreadWrapper::ThreadFunc(void *arg)
pthis->m_pStartAddress(pthis->m_pArgument);
// Thread has finished, set appropriate event here
- pthis->m_ThreadEndedEvt.SetEvent();
+ pthis->m_ThreadEndedEvt->SetEvent();
pthread_detach(pthread_self());
pthis->m_tid = (pthread_t)0;
return NULL;
@@ -115,5 +117,5 @@ void *CThreadWrapper::ThreadFunc(void *arg)
// ******************************************************************************
DWORD CThreadWrapper::GetThreadId()
{
- return (DWORD)m_tid;
+ return (long long)m_tid;
}