libobs: Use SetThreadDescription if possible
It's the better way to declare thread names, but you need Windows 10, version 1607 to use it.master
parent
d5d36b2f7a
commit
6fb19a8904
|
@ -16,6 +16,7 @@
|
|||
|
||||
#include "bmem.h"
|
||||
#include "threading.h"
|
||||
#include "util/platform.h"
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
|
@ -192,4 +193,21 @@ void os_set_thread_name(const char *name)
|
|||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
typedef HRESULT(WINAPI * set_thread_description_t)(HANDLE thread,
|
||||
PCWSTR desc);
|
||||
|
||||
HMODULE k32 = LoadLibraryW(L"Kernel32.dll");
|
||||
set_thread_description_t std = NULL;
|
||||
std = (set_thread_description_t)GetProcAddress(k32,
|
||||
"SetThreadDescription");
|
||||
if (std) {
|
||||
wchar_t *wname;
|
||||
os_utf8_to_wcs_ptr(name, 0, &wname);
|
||||
|
||||
std(GetCurrentThread(), wname);
|
||||
|
||||
bfree(wname);
|
||||
}
|
||||
FreeLibrary(k32);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue