[PATCH] D14949: [tsan] Change mutexset6.cc to use a mutex instead of spinlock
Kuba Brecka via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 24 05:56:17 PST 2015
kubabrecka created this revision.
kubabrecka added reviewers: dvyukov, samsonov, glider, kcc.
kubabrecka added subscribers: llvm-commits, zaks.anna, ismailp.
Pthread spinlocks are not available on OS X.
http://reviews.llvm.org/D14949
Files:
test/tsan/mutexset6.cc
Index: test/tsan/mutexset6.cc
===================================================================
--- test/tsan/mutexset6.cc
+++ test/tsan/mutexset6.cc
@@ -3,7 +3,7 @@
int Global;
pthread_mutex_t mtx1;
-pthread_spinlock_t mtx2;
+pthread_mutex_t mtx2;
pthread_rwlock_t mtx3;
void *Thread1(void *x) {
@@ -17,10 +17,10 @@
void *Thread2(void *x) {
pthread_mutex_lock(&mtx1);
pthread_mutex_unlock(&mtx1);
- pthread_spin_lock(&mtx2);
+ pthread_mutex_lock(&mtx2);
pthread_rwlock_rdlock(&mtx3);
Global--;
- pthread_spin_unlock(&mtx2);
+ pthread_mutex_unlock(&mtx2);
pthread_rwlock_unlock(&mtx3);
barrier_wait(&barrier);
return NULL;
@@ -40,14 +40,14 @@
// CHECK: Mutex [[M3]] (0x{{.*}}) created at:
// CHECK: #1 main {{.*}}mutexset6.cc:[[@LINE+3]]
pthread_mutex_init(&mtx1, 0);
- pthread_spin_init(&mtx2, 0);
+ pthread_mutex_init(&mtx2, 0);
pthread_rwlock_init(&mtx3, 0);
pthread_t t[2];
pthread_create(&t[0], NULL, Thread1, NULL);
pthread_create(&t[1], NULL, Thread2, NULL);
pthread_join(t[0], NULL);
pthread_join(t[1], NULL);
pthread_mutex_destroy(&mtx1);
- pthread_spin_destroy(&mtx2);
+ pthread_mutex_destroy(&mtx2);
pthread_rwlock_destroy(&mtx3);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14949.41037.patch
Type: text/x-patch
Size: 1224 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151124/592d01ef/attachment.bin>
More information about the llvm-commits
mailing list