1 // RUN: %clangxx_tsan %s -o %t
2 // RUN: %run %t 2>&1 | FileCheck %s
4 // bench.h needs pthread barriers which are not available on OS X
13 void thread(int tid
) {
14 for (int i
= 0; i
< bench_niter
; i
++) {
15 pthread_mutex_lock(&mtx
);
16 while (x
!= i
* 2 + tid
)
17 pthread_cond_wait(&cv
, &mtx
);
19 pthread_cond_signal(&cv
);
20 pthread_mutex_unlock(&mtx
);
25 pthread_mutex_init(&mtx
, 0);
26 pthread_cond_init(&cv
, 0);
27 start_thread_group(2, thread
);