Add OpenBSD support to be able to retrieve the thread id
authorBrad Smith <brad@comstyle.com>
Sun, 28 Jun 2020 01:14:44 +0000 (21:14 -0400)
committerBrad Smith <brad@comstyle.com>
Sun, 28 Jun 2020 01:14:44 +0000 (21:14 -0400)
llvm/lib/Support/Unix/Threading.inc

index 5c1bfc5..9c1f116 100644 (file)
 #include <lwp.h> // For _lwp_self()
 #endif
 
+#if defined(__OpenBSD__)
+#include <unistd.h> // For getthrid()
+#endif
+
 #if defined(__linux__)
 #include <sched.h>       // For sched_getaffinity
 #include <sys/syscall.h> // For syscall codes
@@ -105,6 +109,8 @@ uint64_t llvm::get_threadid() {
   return uint64_t(pthread_getthreadid_np());
 #elif defined(__NetBSD__)
   return uint64_t(_lwp_self());
+#elif defined(__OpenBSD__)
+  return uint64_t(getthrid());
 #elif defined(__ANDROID__)
   return uint64_t(gettid());
 #elif defined(__linux__)