diff options
author | darkf <lw9k123@gmail.com> | 2014-11-28 21:38:20 -0800 |
---|---|---|
committer | darkf <lw9k123@gmail.com> | 2014-11-28 21:38:20 -0800 |
commit | 459502e48ccb6607e531112e7ae89f62b75023c8 (patch) | |
tree | 491c2a24f1496d4abab0d3339e559b9facc74265 /src/common/thread.cpp | |
parent | 2a4b698f8e89f412e725b47fac77cedc5645bc37 (diff) |
Fix MinGW build
Diffstat (limited to 'src/common/thread.cpp')
-rw-r--r-- | src/common/thread.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/common/thread.cpp b/src/common/thread.cpp index dc153ba718..6eeda08287 100644 --- a/src/common/thread.cpp +++ b/src/common/thread.cpp @@ -17,7 +17,7 @@ namespace Common int CurrentThreadId() { -#ifdef _WIN32 +#ifdef MSVC_VER return GetCurrentThreadId(); #elif defined __APPLE__ return mach_thread_self(); @@ -27,6 +27,14 @@ int CurrentThreadId() } #ifdef _WIN32 +// Supporting functions +void SleepCurrentThread(int ms) +{ + Sleep(ms); +} +#endif + +#ifdef MSVC_VER void SetThreadAffinity(std::thread::native_handle_type thread, u32 mask) { @@ -38,12 +46,6 @@ void SetCurrentThreadAffinity(u32 mask) SetThreadAffinityMask(GetCurrentThread(), mask); } -// Supporting functions -void SleepCurrentThread(int ms) -{ - Sleep(ms); -} - void SwitchCurrentThread() { SwitchToThread(); @@ -82,7 +84,7 @@ void SetCurrentThreadName(const char* szThreadName) {} } -#else // !WIN32, so must be POSIX threads +#else // !MSVC_VER, so must be POSIX threads void SetThreadAffinity(std::thread::native_handle_type thread, u32 mask) { @@ -106,6 +108,7 @@ void SetCurrentThreadAffinity(u32 mask) SetThreadAffinity(pthread_self(), mask); } +#ifndef _WIN32 void SleepCurrentThread(int ms) { usleep(1000 * ms); @@ -115,7 +118,10 @@ void SwitchCurrentThread() { usleep(1000 * 1); } +#endif +// MinGW with the POSIX threading model does not support pthread_setname_np +#if !defined(_WIN32) || defined(MSVC_VER) void SetCurrentThreadName(const char* szThreadName) { #ifdef __APPLE__ @@ -126,6 +132,7 @@ void SetCurrentThreadName(const char* szThreadName) pthread_setname_np(pthread_self(), szThreadName); #endif } +#endif #endif |