github.com/afumu/libc@v0.0.6/musl/src/thread/pthread_barrier_destroy.c (about)

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