[PATCH] D43548: Fix racy msan test

Maxim Kuvyrkov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 21 10:06:11 PST 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rL325703: Fix racy msan test (authored by maxim-kuvyrkov, committed by ).
Herald added a subscriber: delcypher.

Changed prior to commit:
  https://reviews.llvm.org/D43548?vs=135204&id=135280#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D43548

Files:
  compiler-rt/trunk/test/msan/pthread_getname_np.cc


Index: compiler-rt/trunk/test/msan/pthread_getname_np.cc
===================================================================
--- compiler-rt/trunk/test/msan/pthread_getname_np.cc
+++ compiler-rt/trunk/test/msan/pthread_getname_np.cc
@@ -10,12 +10,22 @@
 
 #include <stdio.h>
 
+// Stall child thread on this lock to make sure it doesn't finish
+// before the end of the pthread_getname_np() / pthread_setname_np() tests.
+static pthread_mutex_t lock;
+
 void *ThreadFn(void *) {
+  pthread_mutex_lock (&lock);
+  pthread_mutex_unlock (&lock);
   return nullptr;
 }
 
 int main(void) {
   pthread_t t;
+
+  pthread_mutex_init (&lock, NULL);
+  pthread_mutex_lock (&lock);
+
   int res = pthread_create(&t, 0, ThreadFn, 0);
   assert(!res);
 
@@ -28,6 +38,8 @@
   assert(!res);
   assert(strcmp(buf, kMyThreadName) == 0);
 
+  pthread_mutex_unlock (&lock);
+
   res = pthread_join(t, 0);
   assert(!res);
   return 0;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43548.135280.patch
Type: text/x-patch
Size: 916 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180221/f5dd58ad/attachment.bin>


More information about the llvm-commits mailing list