nptl: Move nptl-specific types to separate header

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
Samuel Thibault 2020-01-13 21:15:46 +00:00
parent f827f0e473
commit e5ad057068
3 changed files with 16 additions and 9 deletions

View File

@ -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);
}

View File

@ -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 */

View File

@ -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
{