From 65936b952964d257c387ce2a7a9362a2ce297a63 Mon Sep 17 00:00:00 2001 From: Florian Hahn Date: Mon, 17 May 2021 09:29:49 +0100 Subject: [PATCH] Revert "[NFC][LSAN] Limit the number of concurrent threads is the test" This reverts commit 2a73b7bd8cf7620fc0e478ac838b07ee6649dd8a. This appears to be causing the following failures on GreenDragon: LeakSanitizer-AddressSanitizer-x86_64 :: TestCases/many_threads_detach.cpp LeakSanitizer-Standalone-x86_64 :: TestCases/many_threads_detach.cpp First failure: http://green.lab.llvm.org/green/job/clang-stage1-RA/20754/ Still failing in latest build: http://green.lab.llvm.org/green/job/clang-stage1-RA/20928/ --- .../test/lsan/TestCases/many_threads_detach.cpp | 26 +++------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/compiler-rt/test/lsan/TestCases/many_threads_detach.cpp b/compiler-rt/test/lsan/TestCases/many_threads_detach.cpp index f1949d2..6909a48 100644 --- a/compiler-rt/test/lsan/TestCases/many_threads_detach.cpp +++ b/compiler-rt/test/lsan/TestCases/many_threads_detach.cpp @@ -3,8 +3,6 @@ // Use `-pthread` so that its driver will DTRT (ie., ignore it). // RUN: %clangxx_lsan %s -o %t -pthread && %run %t -#include -#include #include #include #include @@ -14,33 +12,15 @@ // reused. static const size_t kTestThreads = 10000; -// Limit the number of simultaneous threads to avoid reaching the limit. -static const size_t kTestThreadsBatch = 100; - void *null_func(void *args) { return NULL; } -int count_threads() { - DIR *d = opendir("/proc/self/task"); - assert(d); - int count = 0; - while (readdir(d)) - ++count; - closedir(d); - assert(count); - return count; -} - int main(void) { - for (size_t i = 0; i < kTestThreads; i += kTestThreadsBatch) { - for (size_t j = 0; j < kTestThreadsBatch; ++j) { - pthread_t thread; - assert(pthread_create(&thread, NULL, null_func, NULL) == 0); + for (size_t i = 0; i < kTestThreads; i++) { + pthread_t thread; + if (pthread_create(&thread, NULL, null_func, NULL) == 0) pthread_detach(thread); - } - while (count_threads() > 10) - sched_yield(); } return 0; } -- 2.7.4