diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-01-13 21:15:46 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-02-09 13:56:48 +0100 |
commit | e5ad0570682a663fe704f0a7bb1edb61fca11ecb (patch) | |
tree | ef2eff23cd9d361811bd77459aa63752b6ca5ff0 | |
parent | f827f0e473d0aab4b34a5618a2a2ed89ecb88347 (diff) | |
download | glibc-e5ad0570682a663fe704f0a7bb1edb61fca11ecb.tar glibc-e5ad0570682a663fe704f0a7bb1edb61fca11ecb.tar.gz glibc-e5ad0570682a663fe704f0a7bb1edb61fca11ecb.tar.bz2 glibc-e5ad0570682a663fe704f0a7bb1edb61fca11ecb.zip |
nptl: Move nptl-specific types to separate header
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-rw-r--r-- | nptl/call_once.c | 2 | ||||
-rw-r--r-- | sysdeps/nptl/bits/thread-shared-types.h | 10 | ||||
-rw-r--r-- | 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 3f880a9073..25e2964c76 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 fd08b6916a..fbbdd0bb36 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 6d5e4bfe02..0ac489b4a1 100644 --- a/sysdeps/nptl/threads.h +++ b/sysdeps/nptl/threads.h @@ -24,7 +24,7 @@ __BEGIN_DECLS -#include <bits/pthreadtypes-arch.h> +#include <bits/thread-shared-types.h> #include <bits/types/struct_timespec.h> #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 { |