summaryrefslogtreecommitdiff
path: root/src/thread/pthread_cond_destroy.c
blob: a096c5547fdb0297735922568aadbf72c52fa36f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "pthread_impl.h"

int pthread_cond_destroy(pthread_cond_t *c)
{
	int priv = c->_c_mutex != (void *)-1;
	int cnt;
	c->_c_destroy = 1;
	if (c->_c_waiters)
		__wake(&c->_c_seq, -1, priv);
	while ((cnt = c->_c_waiters))
		__wait(&c->_c_waiters, 0, cnt, priv);
	return 0;
}