mirror of
https://github.com/fluencelabs/musl
synced 2025-05-21 11:41:29 +00:00
this avoids the "stampede effect" where pthread_cond_broadcast would result in all waiters waking up simultaneously, only to immediately contend for the mutex and go back to sleep.
12 lines
224 B
C
12 lines
224 B
C
#include "pthread_impl.h"
|
|
|
|
int pthread_cond_init(pthread_cond_t *c, const pthread_condattr_t *a)
|
|
{
|
|
memset(c, 0, sizeof *c);
|
|
if (a) {
|
|
c->_c_clock = *a & 0x7fffffff;
|
|
if (*a>>31) c->_c_mutex = (void *)-1;
|
|
}
|
|
return 0;
|
|
}
|