1/* TSAN-invisible barriers. Link with -ldl. */ 2#include <pthread.h> 3#include <dlfcn.h> 4 5static __typeof(pthread_barrier_wait) *barrier_wait; 6 7static 8void barrier_init (pthread_barrier_t *barrier, unsigned count) 9{ 10 void *h = dlopen ("libpthread.so.0", RTLD_LAZY); 11 barrier_wait = (__typeof (pthread_barrier_wait) *) 12 dlsym (h, "pthread_barrier_wait"); 13 pthread_barrier_init (barrier, NULL, count); 14} 15