summaryrefslogtreecommitdiff
path: root/Source/Core/Common/Src/Thread.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/Src/Thread.cpp')
-rw-r--r--Source/Core/Common/Src/Thread.cpp26
1 files changed, 10 insertions, 16 deletions
diff --git a/Source/Core/Common/Src/Thread.cpp b/Source/Core/Common/Src/Thread.cpp
index 28f59daecb..efc4815cb2 100644
--- a/Source/Core/Common/Src/Thread.cpp
+++ b/Source/Core/Common/Src/Thread.cpp
@@ -22,6 +22,12 @@
namespace Common
{
#ifdef _WIN32
+
+void InitThreading()
+{
+ // Nothing to do in Win32 build.
+}
+
CriticalSection::CriticalSection(int spincount)
{
if (spincount)
@@ -34,25 +40,21 @@ CriticalSection::CriticalSection(int spincount)
}
}
-
CriticalSection::~CriticalSection()
{
DeleteCriticalSection(&section);
}
-
void CriticalSection::Enter()
{
EnterCriticalSection(&section);
}
-
bool CriticalSection::TryEnter()
{
return TryEnterCriticalSection(&section) ? true : false;
}
-
void CriticalSection::Leave()
{
LeaveCriticalSection(&section);
@@ -71,13 +73,11 @@ Thread::Thread(ThreadFunc function, void* arg)
&m_threadId);
}
-
Thread::~Thread()
{
WaitForDeath();
}
-
void Thread::WaitForDeath()
{
if (m_hThread)
@@ -88,13 +88,11 @@ void Thread::WaitForDeath()
}
}
-
void Thread::SetAffinity(int mask)
{
SetThreadAffinityMask(m_hThread, mask);
}
-
void Thread::SetCurrentThreadAffinity(int mask)
{
SetThreadAffinityMask(GetCurrentThread(), mask);
@@ -106,32 +104,27 @@ Event::Event()
m_hEvent = 0;
}
-
void Event::Init()
{
m_hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
}
-
void Event::Shutdown()
{
CloseHandle(m_hEvent);
m_hEvent = 0;
}
-
void Event::Set()
{
SetEvent(m_hEvent);
}
-
void Event::Wait()
{
WaitForSingleObject(m_hEvent, INFINITE);
}
-
void SleepCurrentThread(int ms)
{
Sleep(ms);
@@ -304,12 +297,13 @@ void Thread::SetCurrentThreadAffinity(int mask)
void InitThreading() {
static int thread_init_done = 0;
- if (thread_init_done) return;
- thread_init_done++;
+ if (thread_init_done)
+ return;
if (pthread_key_create(&threadname_key, NULL/*free*/) != 0)
perror("Unable to create thread name key: ");
-
+
+ thread_init_done++;
}
void SleepCurrentThread(int ms)