This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] stdlib: Fixing test-*atexit*-race tests on ia64


The tests requires a new thread stack size to a value (0x20000) lower than
architecture minimum (0x3000).  Set 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.
---
 ChangeLog                        | 5 +++++
 stdlib/test-atexit-race-common.c | 5 ++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/stdlib/test-atexit-race-common.c b/stdlib/test-atexit-race-common.c
index 4d7f911..02d459c 100644
--- a/stdlib/test-atexit-race-common.c
+++ b/stdlib/test-atexit-race-common.c
@@ -34,9 +34,11 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <support/xthread.h>
+#include <sys/param.h>
 
 const size_t kNumThreads = 1024;
 const size_t kNumHandlers = 1024;
+const size_t kStacksize = 0x20000;
 
 static void *
 threadfunc (void *unused)
@@ -60,7 +62,8 @@ 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);
+  size_t ss = kStacksize < PTHREAD_STACK_MIN ? PTHREAD_STACK_MIN : kStacksize;
+  xpthread_attr_setstacksize (&attr, ss);
 
   for (i = 0; i < kNumThreads; ++i) {
     xpthread_create (&attr, threadfunc, NULL);
-- 
2.7.4


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]