mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-01-07 13:03:09 +00:00
9a30ce5f18
* replace GetThreadID with std::this_thread.getId() * name all anonymous structs and unions that contain non-trivially constructable objects * made default constructor for big endian type noexcept to make it work with std::atomic * move instantiated specialized template function members ouside of the class definition to comply with the standard * added default instantiation for template parameter "=nullptr" * used the C++11 standardized thread_local instead of the __declspec(thread) * added transitional definitions to bridge the microsoft specific calls (compare and exchange and aligned alloc) * removed cyclic dependency between Emulator->CPUThreadManager->CPUThread->SMutex->Emulator->... * fixed some instances of indentation by space instead of tabs * surrounded some unused code with an #if 0 block to make sure it doesn't compile
27 lines
416 B
C++
27 lines
416 B
C++
#include <stdafx.h>
|
|
#include <Utilities/SMutex.h>
|
|
|
|
__forceinline void SM_Sleep()
|
|
{
|
|
Sleep(1);
|
|
}
|
|
|
|
__forceinline std::thread::id SM_GetCurrentThreadId()
|
|
{
|
|
return std::this_thread::get_id();
|
|
}
|
|
|
|
__forceinline u32 SM_GetCurrentCPUThreadId()
|
|
{
|
|
if (CPUThread* t = GetCurrentCPUThread())
|
|
{
|
|
return t->GetId();
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
__forceinline be_t<u32> SM_GetCurrentCPUThreadIdBE()
|
|
{
|
|
return SM_GetCurrentCPUThreadId();
|
|
}
|