diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2015-12-22 10:51:13 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2015-12-22 10:54:49 +0100 |
commit | 74b17c7956b8f0bd109b0fd26a8a9869441d09bf (patch) | |
tree | 94f878255b1cb6767f582170568c5f221a3caebc /libpthread | |
parent | 73491f469c244ec077e8448d41c4e193b6a3599b (diff) |
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>
Diffstat (limited to 'libpthread')
-rw-r--r-- | libpthread/nptl/init.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libpthread/nptl/init.c b/libpthread/nptl/init.c index bcd49edff..776bec755 100644 --- a/libpthread/nptl/init.c +++ b/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); |