barrier
static pthread_barrier_t barrier;
pthread_barrier_wait(&barrier);
pthread_barrier_wait(&barrier);
pthread_barrier_init(&barrier, NULL, 2);
barrier(); \
barrier(); \
barrier(); \
barrier(); \
error = pthread_barrier_wait(&barrier);
static pthread_barrier_t barrier;
pthread_barrier_wait(&barrier);
error = pthread_barrier_init(&barrier, NULL, NTHREADS + 1);
if (barrier == NULL || count == 0 || count > INT_MAX)
*barrier = bar;
bar = __thr_pshared_offpage(barrier, 1);
*barrier = THR_PSHARED_PTR;
_pthread_barrier_wait(pthread_barrier_t *barrier)
if (barrier == NULL || *barrier == NULL)
if (*barrier == THR_PSHARED_PTR) {
bar = __thr_pshared_offpage(barrier, 0);
bar = *barrier;
_pthread_barrier_destroy(pthread_barrier_t *barrier)
if (barrier == NULL || *barrier == NULL)
if (*barrier == THR_PSHARED_PTR) {
bar = __thr_pshared_offpage(barrier, 0);
*barrier = NULL;
bar = *barrier;
*barrier = NULL;
__thr_pshared_destroy(barrier);
_pthread_barrier_init(pthread_barrier_t * __restrict barrier,
#define smp_mb__before_atomic() barrier()
#define smp_mb__after_atomic() barrier()
barrier(); \
barrier(); \
barrier(); \
barrier(); \
#define mmiowb() barrier()
barrier();
#define bus_space_barrier BUS_SAN(barrier)
pthread_barrier_t barrier;
CHILD_REQUIRE_EQ(pthread_barrier_init(&barrier, NULL, 2), 0);
(void*)&barrier) == 0);
pthread_barrier_wait(&barrier);
pthread_barrier_t barrier;
CHILD_REQUIRE_EQ(pthread_barrier_init(&barrier, NULL, 2), 0);
(void*)&barrier) == 0);
pthread_barrier_wait(&barrier);
pthread_barrier_t barrier;
REQUIRE_EQ(pthread_barrier_init(&barrier, NULL, 2), 0);
(void *)&barrier), 0);
pthread_barrier_wait(&barrier);
pthread_barrier_wait(&barrier);
pthread_barrier_wait(&barrier);
pthread_barrier_t barrier;
REQUIRE_EQ(pthread_barrier_init(&barrier, &battr, 2), 0);
error = pthread_barrier_wait(&barrier);
error = pthread_barrier_wait(&barrier);
pthread_barrier_t *barrier;
pthread_barrier_wait(xfer->barrier);
pthread_barrier_t barrier;
error = pthread_barrier_init(&barrier, NULL, 2);
.barrier = &barrier,
.barrier = &barrier,
error = pthread_barrier_destroy(&barrier);
barrier();
barrier();
barrier();
barrier();