// Regression test for http://llvm.org/bugs/show_bug.cgi?id=21621 // This test relies on timing between threads, so any failures will be flaky. // RUN: %clangxx_lsan %s -o %t // RUN: LSAN_OPTIONS="log_pointers=1:log_threads=1" %run %t #include #include #include #include void *func(void *arg) { sleep(1); free(arg); return 0; } void create_detached_thread() { pthread_t thread_id; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); void *arg = malloc(1337); assert(arg); int res = pthread_create(&thread_id, &attr, func, arg); assert(res == 0); } int main() { create_detached_thread(); }