OLD | NEW |
1 #include "pthread_impl.h" | 1 #include "pthread_impl.h" |
2 | 2 |
3 int pthread_barrier_destroy(pthread_barrier_t *b) | 3 int pthread_barrier_destroy(pthread_barrier_t* b) { |
4 { | 4 if (b->_b_limit < 0) { |
5 » if (b->_b_limit < 0) { | 5 if (b->_b_lock) { |
6 » » if (b->_b_lock) { | 6 int v; |
7 » » » int v; | 7 a_or(&b->_b_lock, INT_MIN); |
8 » » » a_or(&b->_b_lock, INT_MIN); | 8 while ((v = b->_b_lock) & INT_MAX) |
9 » » » while ((v = b->_b_lock) & INT_MAX) | 9 __wait(&b->_b_lock, 0, v, 0); |
10 » » » » __wait(&b->_b_lock, 0, v, 0); | 10 } |
11 » » } | 11 __vm_wait(); |
12 » » __vm_wait(); | 12 } |
13 » } | 13 return 0; |
14 » return 0; | |
15 } | 14 } |
OLD | NEW |