htl: Initialize ___pthread_self early
commit53da64d1cf3694a132287d1ab6e9655031124e32
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Tue, 8 Aug 2023 10:19:29 +0000 (8 12:19 +0200)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Tue, 8 Aug 2023 10:19:29 +0000 (8 12:19 +0200)
tree348cdf0a18887d4a606e30ee10d76217cfe33092
parent644aa127b9b42a899a12b6ccc6644bc035c231e3
htl: Initialize ___pthread_self early

When using jemalloc, malloc() needs to use TSD, while libpthread
initialization needs malloc(). Having ___pthread_self set early to some
static storage allows TSD to work early, thus allowing jemalloc and
libpthread to initialize together.

This incidentaly simplifies __pthread_enable/disable_asynccancel and
__pthread_self, now that ___pthread_self is always initialized.
htl/cancellation.c
htl/pt-self.c
sysdeps/mach/hurd/htl/pt-sysdep.c