about summary refs log tree commit diff
path: root/src/internal
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2018-05-09 00:14:13 -0400
committerRich Felker <dalias@aerifal.cx>2018-05-09 00:36:09 -0400
commitb8742f32602add243ee2ce74d804015463726899 (patch)
tree5a511e7d917a38bab0c2bb3aaa7457e6dd85e797 /src/internal
parent1db9a35569d51155eb7f2ccf26d420ae4e42e416 (diff)
downloadmusl-b8742f32602add243ee2ce74d804015463726899.tar.gz
musl-b8742f32602add243ee2ce74d804015463726899.tar.xz
musl-b8742f32602add243ee2ce74d804015463726899.zip
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')
-rw-r--r--src/internal/pthread_impl.h2
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;