| // RUN: %clangxx_msan -fsanitize-memory-track-origins -O0 %s -o %t && %run %t | |
| // Regression test for a deadlock in pthread_getattr_np | |
| #include <assert.h> | |
| #include <pthread.h> | |
| void *ThreadFn(void *) { | |
| pthread_attr_t attr; | |
| int res = pthread_getattr_np(pthread_self(), &attr); | |
| assert(!res); | |
| return 0; | |
| } | |
| int main(void) { | |
| pthread_t t; | |
| int res = pthread_create(&t, 0, ThreadFn, 0); | |
| assert(!res); | |
| res = pthread_join(t, 0); | |
| assert(!res); | |
| return 0; | |
| } |