X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=tests%2Fcommon%2Fthread-id.h;h=cb0d903748b1d0ddf2fd6b7c8a219d10f917896c;hp=04db5bb5aa3d25fdc8120d5edc0053e6f6f409d6;hb=02eb66d80fa5ca5c7d48779ef8f65a5971bf005c;hpb=6bbcdc421d5614038a1dc8c5645c334372762087 diff --git a/tests/common/thread-id.h b/tests/common/thread-id.h index 04db5bb..cb0d903 100644 --- a/tests/common/thread-id.h +++ b/tests/common/thread-id.h @@ -17,7 +17,6 @@ * 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 @@ -50,6 +49,26 @@ unsigned long urcu_get_thread_id(void) { return (unsigned long) pthread_getthreadid_np(); } +#elif defined(__sun__) || defined(__APPLE__) +#include + +static inline +unsigned long urcu_get_thread_id(void) +{ + return (unsigned long) pthread_self(); +} +#elif defined(__CYGWIN__) +#include + +extern unsigned long pthread_getsequence_np(pthread_t *); + +static inline +unsigned long urcu_get_thread_id(void) +{ + pthread_t thr = pthread_self(); + return pthread_getsequence_np(&thr); +} + #else # warning "use pid as thread ID" static inline