]>
Commit | Line | Data |
---|---|---|
92a42be0 SL |
1 | // RUN: %clang_tsan -O1 %s -o %t && %deflake %run %t | FileCheck %s |
2 | #include "test.h" | |
1a4d82fc JJ |
3 | |
4 | void *Thread(void *x) { | |
5 | pthread_mutex_lock((pthread_mutex_t*)x); | |
6 | pthread_mutex_unlock((pthread_mutex_t*)x); | |
92a42be0 | 7 | barrier_wait(&barrier); |
1a4d82fc JJ |
8 | return 0; |
9 | } | |
10 | ||
11 | int main() { | |
92a42be0 | 12 | barrier_init(&barrier, 2); |
1a4d82fc JJ |
13 | pthread_mutex_t Mtx; |
14 | pthread_mutex_init(&Mtx, 0); | |
15 | pthread_t t; | |
16 | pthread_create(&t, 0, Thread, &Mtx); | |
92a42be0 | 17 | barrier_wait(&barrier); |
1a4d82fc JJ |
18 | pthread_mutex_destroy(&Mtx); |
19 | pthread_join(t, 0); | |
20 | return 0; | |
21 | } | |
22 | ||
23 | // CHECK: WARNING: ThreadSanitizer: data race |