[compiler-rt] r254224 - [tsan] Change mutexset6.cc to use a mutex instead of spinlock

Kuba Brecka via llvm-commits llvm-commits at lists.llvm.org
Sat Nov 28 01:18:44 PST 2015


Author: kuba.brecka
Date: Sat Nov 28 03:18:43 2015
New Revision: 254224

URL: http://llvm.org/viewvc/llvm-project?rev=254224&view=rev
Log:
[tsan] Change mutexset6.cc to use a mutex instead of spinlock

Pthread spinlocks are not available on OS X and this test doesn't really require a spinlock.

Differential Revision: http://reviews.llvm.org/D14949


Modified:
    compiler-rt/trunk/test/tsan/mutexset6.cc

Modified: compiler-rt/trunk/test/tsan/mutexset6.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/tsan/mutexset6.cc?rev=254224&r1=254223&r2=254224&view=diff
==============================================================================
--- compiler-rt/trunk/test/tsan/mutexset6.cc (original)
+++ compiler-rt/trunk/test/tsan/mutexset6.cc Sat Nov 28 03:18:43 2015
@@ -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 *Thread1(void *x) {
 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,7 +40,7 @@ int main() {
   // 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);
@@ -48,6 +48,6 @@ int main() {
   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);
 }




More information about the llvm-commits mailing list