summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/internal/pthread_impl.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/internal/pthread_impl.h b/src/internal/pthread_impl.h
index 0a65fa37..fc2def63 100644
--- a/src/internal/pthread_impl.h
+++ b/src/internal/pthread_impl.h
@@ -19,16 +19,21 @@ struct pthread {
void **dtv, *unused1, *unused2;
uintptr_t sysinfo;
uintptr_t canary, canary2;
- pid_t tid, pid;
/* Part 2 -- implementation details, non-ABI. */
- int tsd_used, errno_val;
- volatile int cancel, canceldisable, cancelasync;
+ int tid;
+ int errno_val;
volatile int detach_state;
+ volatile int cancel;
+ volatile unsigned char canceldisable, cancelasync;
+ unsigned char tsd_used:1;
+ unsigned char unblock_cancel:1;
+ unsigned char dlerror_flag:1;
unsigned char *map_base;
size_t map_size;
void *stack;
size_t stack_size;
+ size_t guard_size;
void *start_arg;
void *(*start)(void *);
void *result;
@@ -39,16 +44,13 @@ struct pthread {
long off;
volatile void *volatile pending;
} robust_list;
- int unblock_cancel;
volatile int timer_id;
locale_t locale;
volatile int killlock[1];
- volatile int startlock[2];
+ volatile int startlock[1];
unsigned long sigmask[_NSIG/8/sizeof(long)];
char *dlerror_buf;
- int dlerror_flag;
void *stdio_locks;
- size_t guard_size;
/* Part 3 -- the positions of these fields relative to
* the end of the structure is external and internal ABI. */