util/u_thread: Fix build under Haiku
authorX512 <danger_mail@list.ru>
Thu, 9 Jan 2020 00:59:21 +0000 (00:59 +0000)
committerAlexander von Gluck IV <kallisti5@unixzen.com>
Wed, 22 Jan 2020 16:21:54 +0000 (16:21 +0000)
src/util/u_thread.h

index 6fc89099fec9d1efdb8594d5d73b7aac5d55f367..5bb06608fc91f67b6f940d0a63a5e29ff0504e5e 100644 (file)
 #endif
 #endif
 
+#ifdef __HAIKU__
+#include <OS.h>
+#endif
+
 #ifdef __FreeBSD__
 #define cpu_set_t cpuset_t
 #endif
@@ -77,6 +81,8 @@ 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
 #endif
@@ -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(HAVE_PTHREAD) && !defined(__APPLE__)
+#if defined(HAVE_PTHREAD) && !defined(__APPLE__) && !defined(__HAIKU__)
    struct timespec ts;
    clockid_t cid;