X-Git-Url: https://git.lttng.org/?p=urcu.git;a=blobdiff_plain;f=tests%2Fcommon%2Fthread-id.h;h=690fdf009677f714918f738e755c53584e73c305;hp=9378edcf2ce9246f12f0260eaf294ad2de1ceaf2;hb=6acc6ad438eacc973c610e7ec8e76c9cd83c6286;hpb=f5ab766ee2c8300cb00ca5878b1cb464f960a66d diff --git a/tests/common/thread-id.h b/tests/common/thread-id.h index 9378edc..690fdf0 100644 --- a/tests/common/thread-id.h +++ b/tests/common/thread-id.h @@ -17,11 +17,18 @@ * provided the above notices are retained, and a notice that the code was * modified is included with the above copyright notice. */ +#include #ifdef __linux__ -# include +# include -# if defined(_syscall0) +# if defined(HAVE_GETTID) +/* + * Do not redefine gettid() as it is already included + * in bionic through . Some other libc + * may also already contain an implementation of gettid. + */ +# elif defined(_syscall0) _syscall0(pid_t, gettid) # elif defined(__NR_gettid) static inline pid_t gettid(void) @@ -43,6 +50,14 @@ unsigned long urcu_get_thread_id(void) { return (unsigned long) pthread_getthreadid_np(); } +#elif defined(__sun__) +#include + +static inline +unsigned long urcu_get_thread_id(void) +{ + return (unsigned long) pthread_self(); +} #else # warning "use pid as thread ID" static inline