Rich Felker | 0b44a03 | 2011-02-12 00:22:29 -0500 | [diff] [blame] | 1 | #include "pthread_impl.h" |
2 | |||||
3 | int pthread_cond_destroy(pthread_cond_t *c) | ||||
4 | { | ||||
Rich Felker | 37195db | 2014-08-17 22:09:47 -0400 | [diff] [blame] | 5 | if (c->_c_shared && c->_c_waiters) { |
6 | int cnt; | ||||
7 | a_or(&c->_c_waiters, 0x80000000); | ||||
8 | a_inc(&c->_c_seq); | ||||
9 | __wake(&c->_c_seq, -1, 0); | ||||
10 | while ((cnt = c->_c_waiters) & 0x7fffffff) | ||||
11 | __wait(&c->_c_waiters, 0, cnt, 0); | ||||
12 | } | ||||
Rich Felker | 0b44a03 | 2011-02-12 00:22:29 -0500 | [diff] [blame] | 13 | return 0; |
14 | } |