Improve stack overflow diagnostics (take 2).
This reverts commitseb1b07469fandd14dc3b87f, and fixes the bug where we were calling mmap (which might cause errno to be set) before __set_tls (which is required to implement errno). Bug: 8557703 Change-Id: I2c36d00240c56e156e1bb430d8c22a73a068b70c
This commit is contained in:
@@ -30,12 +30,16 @@
|
||||
|
||||
#include "pthread_internal.h"
|
||||
|
||||
#define DEFAULT_STACK_SIZE (1024 * 1024)
|
||||
// Traditionally we give threads a 1MiB stack. When we started allocating per-thread
|
||||
// alternate signal stacks to ease debugging of stack overflows, we subtracted the
|
||||
// same amount we were using there from the default thread stack size. This should
|
||||
// keep memory usage roughly constant.
|
||||
#define DEFAULT_THREAD_STACK_SIZE ((1 * 1024 * 1024) - SIGSTKSZ)
|
||||
|
||||
int pthread_attr_init(pthread_attr_t* attr) {
|
||||
attr->flags = 0;
|
||||
attr->stack_base = NULL;
|
||||
attr->stack_size = DEFAULT_STACK_SIZE;
|
||||
attr->stack_size = DEFAULT_THREAD_STACK_SIZE;
|
||||
attr->guard_size = PAGE_SIZE;
|
||||
attr->sched_policy = SCHED_NORMAL;
|
||||
attr->sched_priority = 0;
|
||||
|
||||
Reference in New Issue
Block a user