RTEMS: Optimize pthread_once_t

Reduce size of pthread_once_t and make it zero-initialized.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
This commit is contained in:
Sebastian Huber 2017-09-19 15:08:35 +02:00
parent f9b24fad7c
commit 4fef7312b3
2 changed files with 6 additions and 7 deletions

View File

@ -41,12 +41,11 @@ typedef __uint32_t tss_t;
/* pthread_once_t */
typedef struct {
int _is_initialized;
int _init_executed;
unsigned char _flags;
} once_flag;
/* PTHREAD_ONCE_INIT */
#define ONCE_FLAG_INIT { 1, 0 }
#define ONCE_FLAG_INIT { 0 }
/* PTHREAD_DESTRUCTOR_ITERATIONS */
#define TSS_DTOR_ITERATIONS 4

View File

@ -169,11 +169,11 @@ typedef struct {
typedef __uint32_t pthread_key_t; /* thread-specific data keys */
typedef struct {
int is_initialized; /* is this structure initialized? */
int init_executed; /* has the initialization routine been run? */
} pthread_once_t; /* dynamic package initialization */
unsigned char _flags;
} pthread_once_t;
#define _PTHREAD_ONCE_INIT { 0 }
#define _PTHREAD_ONCE_INIT { 1, 0 } /* is initialized and not run */
#endif /* defined(_POSIX_THREADS) */
/* POSIX Barrier Types */