musl-tcc/src/thread/pthread_cond_destroy.c

15 lines
307 B
C

#include "pthread_impl.h"
int pthread_cond_destroy(pthread_cond_t *c)
{
if (c->_c_shared && c->_c_waiters) {
int cnt;
a_or(&c->_c_waiters, 0x80000000);
a_inc(&c->_c_seq);
__wake(&c->_c_seq, -1, 0);
while ((cnt = c->_c_waiters) & 0x7fffffff)
__wait(&c->_c_waiters, 0, cnt, 0);
}
return 0;
}