blob: 8c5551600e8c35d0a9f5fe194ee060d8303c22f6 (
plain) (
blame)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
 | #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;
}
 |