cosmopolitan/libc/thread
Justine Tunney 69f4152f38 Always initialize thread local storage
We had previously not enabled TLS in MODE=tiny in order to keep the
smallest example programs (e.g. life.com) just 16kb in size. But it
was error prone doing that, so now we just always enable it because
this change uses hacks to ensure it won't increase life.com's size.

This change also fixes a bug on NetBSD, where signal handlers would
break thread local storage if SA_SIGINFO was being used. This looks
like it might be a bug in NetBSD, but it's got a simple workaround.
2022-07-19 00:21:46 -07:00
..
attr.c Refactor some code 2022-05-28 14:09:21 -07:00
freebsd.internal.h Refactor some code 2022-05-28 14:09:21 -07:00
internal.h Make _Thread_local more seamlessly working 2022-07-10 08:27:50 -07:00
key.c Make _Thread_local more seamlessly working 2022-07-10 08:27:50 -07:00
mktls.c Make _Thread_local work across platforms 2022-07-10 04:01:17 -07:00
openbsd.internal.h Make fixes and improvements 2022-06-25 21:09:09 -07:00
pthread_getspecific.c Make _Thread_local more seamlessly working 2022-07-10 08:27:50 -07:00
pthread_key_create.c Make _Thread_local more seamlessly working 2022-07-10 08:27:50 -07:00
pthread_key_delete.c Add pthread tls api 2022-06-22 07:08:17 -07:00
pthread_key_destruct.c Perform some code cleanup 2022-06-23 10:21:07 -07:00
pthread_setspecific.c Make _Thread_local more seamlessly working 2022-07-10 08:27:50 -07:00
self.c Always initialize thread local storage 2022-07-19 00:21:46 -07:00
sem.c Always initialize thread local storage 2022-07-19 00:21:46 -07:00
spawn.c Always initialize thread local storage 2022-07-19 00:21:46 -07:00
spawn.h Make _Thread_local work across platforms 2022-07-10 04:01:17 -07:00
thread.h Make some touchups 2022-07-15 18:07:34 -07:00
thread.mk Make improvements 2022-05-28 00:28:09 -07:00
wait.c Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
xnu.internal.h Get threads working on all platforms 2022-05-13 03:59:09 -07:00