OLD | NEW |
1 #include "pthread_impl.h" | 1 #include "pthread_impl.h" |
2 | 2 |
3 int pthread_cond_destroy(pthread_cond_t *c) | 3 int pthread_cond_destroy(pthread_cond_t* c) { |
4 { | 4 if (c->_c_shared && c->_c_waiters) { |
5 » if (c->_c_shared && c->_c_waiters) { | 5 int cnt; |
6 » » int cnt; | 6 a_or(&c->_c_waiters, 0x80000000); |
7 » » a_or(&c->_c_waiters, 0x80000000); | 7 a_inc(&c->_c_seq); |
8 » » a_inc(&c->_c_seq); | 8 __wake(&c->_c_seq, -1, 0); |
9 » » __wake(&c->_c_seq, -1, 0); | 9 while ((cnt = c->_c_waiters) & 0x7fffffff) |
10 » » while ((cnt = c->_c_waiters) & 0x7fffffff) | 10 __wait(&c->_c_waiters, 0, cnt, 0); |
11 » » » __wait(&c->_c_waiters, 0, cnt, 0); | 11 } |
12 » } | 12 return 0; |
13 » return 0; | |
14 } | 13 } |
OLD | NEW |