X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=blobdiff_plain;f=src%2Futil%2Fu_thread.h;h=1f2a104c3fd65e9747715294690aee6ec950df8b;hp=c6b35d0814ba08cd172cddea7fb1d677d9c1f17f;hb=56d76859fa5d31be8fee707f44f5dfdadce53cdd;hpb=0233372581db739a6996d454d8ef4075e3a147c7 diff --git a/src/util/u_thread.h b/src/util/u_thread.h index c6b35d0814b..1f2a104c3fd 100644 --- a/src/util/u_thread.h +++ b/src/util/u_thread.h @@ -40,6 +40,10 @@ #endif #endif +#ifdef __HAIKU__ +#include +#endif + #ifdef __FreeBSD__ #define cpu_set_t cpuset_t #endif @@ -69,7 +73,7 @@ static inline thrd_t u_thread_create(int (*routine)(void *), void *param) static inline void u_thread_setname( const char *name ) { #if defined(HAVE_PTHREAD) -#if DETECT_OS_LINUX +#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS pthread_setname_np(pthread_self(), name); #elif DETECT_OS_FREEBSD || DETECT_OS_OPENBSD pthread_set_name_np(pthread_self(), name); @@ -77,8 +81,10 @@ static inline void u_thread_setname( const char *name ) pthread_setname_np(pthread_self(), "%s", (void *)name); #elif DETECT_OS_APPLE pthread_setname_np(name); +#elif DETECT_OS_HAIKU + rename_thread(find_thread(NULL), name); #else -#error Not sure how to call pthread_setname_np +#warning Not sure how to call pthread_setname_np #endif #endif (void)name; @@ -149,7 +155,7 @@ util_get_L3_for_pinned_thread(thrd_t thread, unsigned cores_per_L3) static inline int64_t u_thread_get_time_nano(thrd_t thread) { -#if defined(__linux__) && defined(HAVE_PTHREAD) +#if defined(HAVE_PTHREAD) && !defined(__APPLE__) && !defined(__HAIKU__) struct timespec ts; clockid_t cid;