From 5d98a7dae955bafa6740c26eaba9c86060ae0344 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 21 Jun 2021 12:42:56 -0700 Subject: Define PTHREAD_STACK_MIN to sysconf(_SC_THREAD_STACK_MIN) The constant PTHREAD_STACK_MIN may be too small for some processors. Rename _SC_SIGSTKSZ_SOURCE to _DYNAMIC_STACK_SIZE_SOURCE. When _DYNAMIC_STACK_SIZE_SOURCE or _GNU_SOURCE are defined, define PTHREAD_STACK_MIN to sysconf(_SC_THREAD_STACK_MIN) which is changed to MIN (PTHREAD_STACK_MIN, sysconf(_SC_MINSIGSTKSZ)). Consolidate with to provide a constant target specific PTHREAD_STACK_MIN value. Reviewed-by: Carlos O'Donell --- stdlib/test-atexit-race-common.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'stdlib') diff --git a/stdlib/test-atexit-race-common.c b/stdlib/test-atexit-race-common.c index a2b5468580..b48bb16285 100644 --- a/stdlib/test-atexit-race-common.c +++ b/stdlib/test-atexit-race-common.c @@ -38,11 +38,6 @@ const size_t kNumThreads = 1024; const size_t kNumHandlers = 1024; -const size_t kStacksize = -#ifdef PTHREAD_STACK_MIN - 0x20000 < PTHREAD_STACK_MIN ? PTHREAD_STACK_MIN : -#endif - 0x20000; static void * threadfunc (void *unused) @@ -66,6 +61,12 @@ do_test (void) /* With default 8MiB Linux stack size, creating 1024 threads can cause VM exhausiton on 32-bit machines. Reduce stack size of each thread to 128KiB for a maximum required VM size of 128MiB. */ + size_t kStacksize = +#ifdef PTHREAD_STACK_MIN + 0x20000 < PTHREAD_STACK_MIN ? PTHREAD_STACK_MIN : +#endif + 0x20000; + xpthread_attr_setstacksize (&attr, kStacksize); for (i = 0; i < kNumThreads; ++i) { -- cgit 1.4.1