Lines Matching defs:barrier
86 pthread_barrier_init(pthread_barrier_t *barrier,
89 mutex_t *mp = (mutex_t *)&barrier->__pthread_barrier_lock;
90 cond_t *cvp = (cond_t *)&barrier->__pthread_barrier_cond;
105 barrier->__pthread_barrier_count = count;
106 barrier->__pthread_barrier_current = count;
107 barrier->__pthread_barrier_cycle = 0;
108 barrier->__pthread_barrier_reserved = 0;
117 * we put it here, after initializing the barrier regardless.
119 if (((uintptr_t)barrier & (_LONG_LONG_ALIGNMENT - 1)) &&
127 pthread_barrier_destroy(pthread_barrier_t *barrier)
129 mutex_t *mp = (mutex_t *)&barrier->__pthread_barrier_lock;
130 cond_t *cvp = (cond_t *)&barrier->__pthread_barrier_cond;
134 (void) memset(barrier, -1, sizeof (*barrier));
142 pthread_barrier_wait(pthread_barrier_t *barrier)
144 mutex_t *mp = (mutex_t *)&barrier->__pthread_barrier_lock;
145 cond_t *cvp = (cond_t *)&barrier->__pthread_barrier_cond;
151 if (--barrier->__pthread_barrier_current == 0) {
152 barrier->__pthread_barrier_cycle++;
153 barrier->__pthread_barrier_current =
154 barrier->__pthread_barrier_count;
161 cycle = barrier->__pthread_barrier_cycle;
164 } while (cycle == barrier->__pthread_barrier_cycle);