// RUN: %clangxx_msan -m64 -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;
}
