@ -27,18 +27,6 @@ namespace Common {
# ifdef _MSC_VER
void SetThreadAffinity ( std : : thread : : native_handle_type thread , u32 mask ) {
SetThreadAffinityMask ( thread , mask ) ;
}
void SetCurrentThreadAffinity ( u32 mask ) {
SetThreadAffinityMask ( GetCurrentThread ( ) , mask ) ;
}
void SwitchCurrentThread ( ) {
SwitchToThread ( ) ;
}
// Sets the debugger-visible name of the current thread.
// Uses undocumented (actually, it is now documented) trick.
// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/vxtsksettingthreadname.asp
@ -70,31 +58,6 @@ void SetCurrentThreadName(const char* name) {
# else // !MSVC_VER, so must be POSIX threads
void SetThreadAffinity ( std : : thread : : native_handle_type thread , u32 mask ) {
# ifdef __APPLE__
thread_policy_set ( pthread_mach_thread_np ( thread ) , THREAD_AFFINITY_POLICY , ( integer_t * ) & mask , 1 ) ;
# elif (defined __linux__ || defined __FreeBSD__) && !(defined ANDROID)
cpu_set_t cpu_set ;
CPU_ZERO ( & cpu_set ) ;
for ( int i = 0 ; i ! = sizeof ( mask ) * 8 ; + + i )
if ( ( mask > > i ) & 1 )
CPU_SET ( i , & cpu_set ) ;
pthread_setaffinity_np ( thread , sizeof ( cpu_set ) , & cpu_set ) ;
# endif
}
void SetCurrentThreadAffinity ( u32 mask ) {
SetThreadAffinity ( pthread_self ( ) , mask ) ;
}
# ifndef _WIN32
void SwitchCurrentThread ( ) {
usleep ( 1000 * 1 ) ;
}
# endif
// MinGW with the POSIX threading model does not support pthread_setname_np
# if !defined(_WIN32) || defined(_MSC_VER)
void SetCurrentThreadName ( const char * name ) {