path: root/src/internal/pthread_impl.h
diff options
authorRich Felker <>2018-05-09 00:14:13 -0400
committerRich Felker <>2018-05-09 00:36:09 -0400
commitb8742f32602add243ee2ce74d804015463726899 (patch)
tree5a511e7d917a38bab0c2bb3aaa7457e6dd85e797 /src/internal/pthread_impl.h
parent1db9a35569d51155eb7f2ccf26d420ae4e42e416 (diff)
improve design of thread-start with explicit scheduling attributes
eliminate the awkward startlock mechanism and corresponding fields of the pthread structure that were only used at startup. instead of having pthread_create perform the scheduling operations and having the new thread wait for them to be completed, start the new thread with a wrapper start function that performs its own scheduling, sending the result code back via a futex. this way the new thread can use storage from the calling thread's stack rather than permanent fields in the pthread structure.
Diffstat (limited to 'src/internal/pthread_impl.h')
1 files changed, 0 insertions, 2 deletions
diff --git a/src/internal/pthread_impl.h b/src/internal/pthread_impl.h
index fc2def63..69352ef2 100644
--- a/src/internal/pthread_impl.h
+++ b/src/internal/pthread_impl.h
@@ -47,8 +47,6 @@ struct pthread {
volatile int timer_id;
locale_t locale;
volatile int killlock[1];
- volatile int startlock[1];
- unsigned long sigmask[_NSIG/8/sizeof(long)];
char *dlerror_buf;
void *stdio_locks;