28#ifndef MY_THREAD_OS_ID_INCLUDED
29#define MY_THREAD_OS_ID_INCLUDED
35#include <sys/syscall.h>
39#ifdef HAVE_PTHREAD_GETTHREADID_NP
40#include <pthread_np.h>
43#ifdef HAVE_PTHREAD_THREADID_NP
58#ifdef HAVE_PTHREAD_THREADID_NP
66 pthread_threadid_np(
nullptr, &tid64);
76 return syscall(SYS_gettid);
80 return GetCurrentThreadId();
82#ifdef HAVE_PTHREAD_GETTHREADID_NP
84 return pthread_getthreadid_np();
86#ifdef HAVE_INTEGER_PTHREAD_SELF
88 return pthread_self();
Defines to make different thread packages compatible.
unsigned long long my_thread_os_id_t
Definition: my_thread_os_id.h:47
static my_thread_os_id_t my_thread_os_id()
Return the operating system thread id.
Definition: my_thread_os_id.h:57