Lines Matching refs:barrier

50 static int pthread_barrier_init(pthread_barrier_t *barrier, const pthread_barrierattr_t *attr, unsi…  in pthread_barrier_init()  argument
57 if(pthread_mutex_init(&barrier->mutex, 0) < 0) { in pthread_barrier_init()
60 if(pthread_cond_init(&barrier->cond, 0) < 0) { in pthread_barrier_init()
61 pthread_mutex_destroy(&barrier->mutex); in pthread_barrier_init()
64 barrier->trip_count = count; in pthread_barrier_init()
65 barrier->count = 0; in pthread_barrier_init()
70 static int pthread_barrier_destroy(pthread_barrier_t *barrier) in pthread_barrier_destroy() argument
72 pthread_cond_destroy(&barrier->cond); in pthread_barrier_destroy()
73 pthread_mutex_destroy(&barrier->mutex); in pthread_barrier_destroy()
77 static int pthread_barrier_wait(pthread_barrier_t *barrier) in pthread_barrier_wait() argument
79 pthread_mutex_lock(&barrier->mutex); in pthread_barrier_wait()
80 ++(barrier->count); in pthread_barrier_wait()
81 if(barrier->count >= barrier->trip_count) in pthread_barrier_wait()
83 barrier->count = 0; in pthread_barrier_wait()
84 pthread_cond_broadcast(&barrier->cond); in pthread_barrier_wait()
85 pthread_mutex_unlock(&barrier->mutex); in pthread_barrier_wait()
90 pthread_cond_wait(&barrier->cond, &(barrier->mutex)); in pthread_barrier_wait()
91 pthread_mutex_unlock(&barrier->mutex); in pthread_barrier_wait()
120 pthread_barrier_t barrier; /* Ensures correct startup sequence */ member
151 pthread_barrier_init(&dev->barrier, NULL, 2); in new_hid_device()
201 pthread_barrier_destroy(&dev->barrier); in free_hid_device()
673 pthread_barrier_wait(&dev->barrier); in read_thread()
775 pthread_barrier_wait(&dev->barrier); in hid_open_path()