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 +// 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;