Initial support for Haiku.

This commit is contained in:
Augustin Cavalier
2017-02-22 12:21:10 -05:00
parent 7304cb0f8e
commit 0831dad467
17 changed files with 236 additions and 15 deletions

View File

@ -16,6 +16,8 @@
#include <mach/mach.h>
#elif defined BSD4_4 || defined __FreeBSD__ || defined __OpenBSD__
#include <pthread_np.h>
#elif defined __HAIKU__
#include <OS.h>
#endif
#ifdef USE_VTUNE
@ -136,6 +138,8 @@ void SetCurrentThreadName(const char* szThreadName)
pthread_setname_np(szThreadName);
#elif defined __FreeBSD__ || defined __OpenBSD__
pthread_set_name_np(pthread_self(), szThreadName);
#elif defined __HAIKU__
rename_thread(find_thread(nullptr), szThreadName);
#else
// linux doesn't allow to set more than 16 bytes, including \0.
pthread_setname_np(pthread_self(), std::string(szThreadName).substr(0, 15).c_str());