Make spin locks go faster

This commit is contained in:
Justine Tunney 2024-07-25 17:14:30 -07:00
parent a31d5ea399
commit c8e25d811c
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
16 changed files with 150 additions and 123 deletions

View file

@ -55,9 +55,14 @@ static void __stdio_fork_parent(void) {
static void __stdio_fork_child(void) {
FILE *f;
for (int i = __fflush.handles.i; i--;)
for (int i = __fflush.handles.i; i--;) {
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
if ((f = __fflush.handles.p[i]))
f->lock = (pthread_mutex_t)PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
pthread_mutex_init(&f->lock, &attr);
pthread_mutexattr_destroy(&attr);
}
pthread_mutex_init(&__fflush_lock_obj, 0);
}