pthread_key
commit
315c9e794a5fb8f9672081dbd7493b5fd036ab05
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Mon Feb 14 00:15:13 2022 +0100
htl: Make pthread_[gs]etspecific not check for key validity
Since __pthread_key_create might be concurrently reallocating the
__pthread_key_destructors array, it's not safe to access it without the
mutex held. Posix explicitly says we are allowed to prefer performance
over error detection.
commit
33038a7d917889547c711be158ed34739af26351
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Mon Feb 14 00:47:18 2022 +0100
mach: Fix LLL_SHARED value
Mach defines GSYNC_SHARED, not SYNC_SHARED.
commit
06dbfcced3101886029ea3a46bcc98887d60f61e
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Mon Feb 14 01:38:03 2022 +0100
htl: Fix initializing the key lock
The static pthread_once_t in the pt-key.h header was creating one
pthread_once_t per includer. We have to use a shared common
pthread_once_t instead.
commit
7a06be051c01b4325927efab5b4e4280bb4a5a42
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Mon Feb 14 01:39:35 2022 +0100
htl: Destroy thread-specific data before releasing joins
Applications may want to assume that after pthread_join() returns, all
thread-specific data has been released.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name pthread_key.diff