about summary refs log tree commit diff
path: root/src/internal/pthread_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal/pthread_impl.h')
-rw-r--r--src/internal/pthread_impl.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/internal/pthread_impl.h b/src/internal/pthread_impl.h
index 3b4ad94d..0a65fa37 100644
--- a/src/internal/pthread_impl.h
+++ b/src/internal/pthread_impl.h
@@ -24,7 +24,7 @@ struct pthread {
 	/* Part 2 -- implementation details, non-ABI. */
 	int tsd_used, errno_val;
 	volatile int cancel, canceldisable, cancelasync;
-	int detached;
+	volatile int detach_state;
 	unsigned char *map_base;
 	size_t map_size;
 	void *stack;
@@ -42,9 +42,7 @@ struct pthread {
 	int unblock_cancel;
 	volatile int timer_id;
 	locale_t locale;
-	volatile int join_futex;
 	volatile int killlock[1];
-	volatile int exitlock[1];
 	volatile int startlock[2];
 	unsigned long sigmask[_NSIG/8/sizeof(long)];
 	char *dlerror_buf;
@@ -58,6 +56,14 @@ struct pthread {
 	void **dtv_copy;
 };
 
+enum {
+	DT_EXITED = 0,
+	DT_EXITING,
+	DT_JOINABLE,
+	DT_DETACHED,
+	DT_DYNAMIC,
+};
+
 struct __timer {
 	int timerid;
 	pthread_t thread;