1// RUN: %clangxx_tsan %s -o %t
2// RUN: %run %t 2>&1 | FileCheck %s
3
4#include "bench.h"
5
6pthread_rwlock_t mtx;
7
8void thread(int tid) {
9  for (int i = 0; i < bench_niter; i++) {
10    pthread_rwlock_rdlock(&mtx);
11    pthread_rwlock_unlock(&mtx);
12  }
13}
14
15void bench() {
16  pthread_rwlock_init(&mtx, 0);
17  pthread_rwlock_wrlock(&mtx);
18  pthread_rwlock_unlock(&mtx);
19  pthread_rwlock_rdlock(&mtx);
20  pthread_rwlock_unlock(&mtx);
21  start_thread_group(bench_nthread, thread);
22}
23
24// CHECK: DONE
25
26