8#if UNRAVEL_PLATFORM_WINDOWS && UNRAVEL_COMPILER_MSVC
9#define WIN32_LEAN_AND_MEAN
23typedef struct tagTHREADNAME_INFO
36 info.szName = threadName;
37 info.dwThreadID = dwThreadID;
40 static const DWORD MS_VC_EXCEPTION = 0x406D1388;
44#pragma warning(disable : 6320 6322)
47 RaiseException(MS_VC_EXCEPTION, 0,
sizeof(info) /
sizeof(ULONG_PTR), (ULONG_PTR*)&info);
49 __except(EXCEPTION_EXECUTE_HANDLER)
57 DWORD threadId = ::GetCurrentThreadId();
62#elif UNRAVEL_PLATFORM_LINUX
68 pthread_setname_np(pthread_self(), threadName);
71#elif UNRAVEL_PLATFORM_OSX
77 pthread_setname_np(threadName);