From e5ad0570682a663fe704f0a7bb1edb61fca11ecb Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Mon, 13 Jan 2020 21:15:46 +0000 Subject: nptl: Move nptl-specific types to separate header Reviewed-by: Adhemerval Zanella --- nptl/call_once.c | 2 +- sysdeps/nptl/bits/thread-shared-types.h | 10 ++++++++++ sysdeps/nptl/threads.h | 13 +++++-------- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/nptl/call_once.c b/nptl/call_once.c index 3f880a9..25e2964 100644 --- a/nptl/call_once.c +++ b/nptl/call_once.c @@ -27,5 +27,5 @@ call_once (once_flag *flag, void (*func)(void)) "sizeof (once_flag) != sizeof (pthread_once_t)"); _Static_assert (alignof (once_flag) == alignof (pthread_once_t), "alignof (once_flag) != alignof (pthread_once_t)"); - __pthread_once (&flag->__data, func); + __pthread_once ((pthread_once_t *) flag, func); } diff --git a/sysdeps/nptl/bits/thread-shared-types.h b/sysdeps/nptl/bits/thread-shared-types.h index fd08b69..fbbdd0b 100644 --- a/sysdeps/nptl/bits/thread-shared-types.h +++ b/sysdeps/nptl/bits/thread-shared-types.h @@ -116,4 +116,14 @@ struct __pthread_cond_s unsigned int __g_signals[2]; }; +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data __ONCE_ALIGNMENT; +} __once_flag; + +#define __ONCE_FLAG_INIT { 0 } + #endif /* _THREAD_SHARED_TYPES_H */ diff --git a/sysdeps/nptl/threads.h b/sysdeps/nptl/threads.h index 6d5e4bf..0ac489b 100644 --- a/sysdeps/nptl/threads.h +++ b/sysdeps/nptl/threads.h @@ -24,7 +24,7 @@ __BEGIN_DECLS -#include +#include #include #ifndef __cplusplus @@ -32,10 +32,10 @@ __BEGIN_DECLS #endif #define TSS_DTOR_ITERATIONS 4 -typedef unsigned int tss_t; +typedef __tss_t tss_t; typedef void (*tss_dtor_t) (void*); -typedef unsigned long int thrd_t; +typedef __thrd_t thrd_t; typedef int (*thrd_start_t) (void*); /* Exit and error codes. */ @@ -56,11 +56,8 @@ enum mtx_timed = 2 }; -typedef struct -{ - int __data __ONCE_ALIGNMENT; -} once_flag; -#define ONCE_FLAG_INIT { 0 } +typedef __once_flag once_flag; +#define ONCE_FLAG_INIT __ONCE_FLAG_INIT typedef union { -- cgit v1.1