diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | stdlib/test-atexit-race-common.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index d577abc377..fdf303a42f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2018-02-01 Adhemerval Zanella <adhemerval.zanella@linaro.org> + + * stdlib/test-atexit-race-common.c (do_test): Check stack size + against PTHREAD_STACK_MIN. + 2018-02-01 Dmitry V. Levin <ldv@altlinux.org> * manual/contrib.texi (Palmer Dabbelt, Arjun Shankar, Florian Weimer): diff --git a/stdlib/test-atexit-race-common.c b/stdlib/test-atexit-race-common.c index 4d7f911d8c..8adf1330bf 100644 --- a/stdlib/test-atexit-race-common.c +++ b/stdlib/test-atexit-race-common.c @@ -34,9 +34,12 @@ #include <stdio.h> #include <stdlib.h> #include <support/xthread.h> +#include <limits.h> const size_t kNumThreads = 1024; const size_t kNumHandlers = 1024; +const size_t kStacksize = + 0x20000 < PTHREAD_STACK_MIN ? PTHREAD_STACK_MIN : 0x20000; static void * threadfunc (void *unused) @@ -60,7 +63,7 @@ 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. */ - xpthread_attr_setstacksize (&attr, 128 * 1024); + xpthread_attr_setstacksize (&attr, kStacksize); for (i = 0; i < kNumThreads; ++i) { xpthread_create (&attr, threadfunc, NULL); |