aboutsummaryrefslogtreecommitdiff
path: root/stdlib/test-atexit-race-common.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2018-02-01 10:31:57 -0200
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2018-02-01 11:17:44 -0200
commit673e230560ac874deed6993d8b9ebaf82e73c408 (patch)
tree68e5d27a6ecc307a475eedf9c19e984ed44c4a90 /stdlib/test-atexit-race-common.c
parentced64e014c811573cbafc92315161d6d5ce05543 (diff)
downloadglibc-673e230560ac874deed6993d8b9ebaf82e73c408.tar
glibc-673e230560ac874deed6993d8b9ebaf82e73c408.tar.gz
glibc-673e230560ac874deed6993d8b9ebaf82e73c408.tar.bz2
glibc-673e230560ac874deed6993d8b9ebaf82e73c408.zip
stdlib: Fixing test-*atexit*-race tests on ia64
These tests require a new thread stack size set to a value (0x20000) lower than the architecture minimum (0x30000). Set the stack size to PTHREAD_STACK_MIN in this case. Checked on ia64-linux-gnu. * stdlib/test-atexit-race-common.c (do_test): Check stack size against PTHREAD_STACK_MIN.
Diffstat (limited to 'stdlib/test-atexit-race-common.c')
-rw-r--r--stdlib/test-atexit-race-common.c5
1 files changed, 4 insertions, 1 deletions
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);