Browse Source

use arch specific thread stack size for nptl

Use the arch specific thread stack size for nptl if the size
returned by getrlimits exceeds it - fixes threads on systems
with only 16 MB RAM.

Patch from OpenWRT

Reported-by: Leonid Lisovskiy <lly.dev@gmail.com>
Waldemar Brodkorb 8 years ago
parent
commit
74b17c7956
1 changed files with 4 additions and 0 deletions
  1. 4 0
      libpthread/nptl/init.c

+ 4 - 0
libpthread/nptl/init.c

@@ -382,6 +382,10 @@ __pthread_initialize_minimal_internal (void)
        Use the minimal size acceptable.  */
     limit.rlim_cur = PTHREAD_STACK_MIN;
 
+  /* Do not exceed architecture specific default */
+  if (limit.rlim_cur > ARCH_STACK_DEFAULT_SIZE)
+    limit.rlim_cur = ARCH_STACK_DEFAULT_SIZE;
+
   /* Make sure it meets the minimum size that allocate_stack
      (allocatestack.c) will demand, which depends on the page size.  */
   const uintptr_t pagesz = sysconf (_SC_PAGESIZE);