diff options
Diffstat (limited to 'lib/tsan/lit_tests/java_lock.cc')
-rw-r--r-- | lib/tsan/lit_tests/java_lock.cc | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/lib/tsan/lit_tests/java_lock.cc b/lib/tsan/lit_tests/java_lock.cc deleted file mode 100644 index d9db103504de1..0000000000000 --- a/lib/tsan/lit_tests/java_lock.cc +++ /dev/null @@ -1,35 +0,0 @@ -// RUN: %clangxx_tsan -O1 %s -o %t && %t 2>&1 | FileCheck %s -#include "java.h" -#include <unistd.h> - -jptr varaddr; -jptr lockaddr; - -void *Thread(void *p) { - sleep(1); - __tsan_java_mutex_lock(lockaddr); - *(int*)varaddr = 42; - __tsan_java_mutex_unlock(lockaddr); - return 0; -} - -int main() { - int const kHeapSize = 1024 * 1024; - void *jheap = malloc(kHeapSize); - __tsan_java_init((jptr)jheap, kHeapSize); - const int kBlockSize = 16; - __tsan_java_alloc((jptr)jheap, kBlockSize); - varaddr = (jptr)jheap; - lockaddr = (jptr)jheap + 8; - pthread_t th; - pthread_create(&th, 0, Thread, 0); - __tsan_java_mutex_lock(lockaddr); - *(int*)varaddr = 43; - __tsan_java_mutex_unlock(lockaddr); - pthread_join(th, 0); - __tsan_java_free((jptr)jheap, kBlockSize); - printf("OK\n"); - return __tsan_java_fini(); -} - -// CHECK-NOT: WARNING: ThreadSanitizer: data race |