void __pthread_init_max_stacksize(void)
__pthread_init_max_stacksize(void)
void __pthread_init_max_stacksize(void){  struct rlimit limit;  size_t max_stack;  getrlimit(RLIMIT_STACK, &limit);#ifdef FLOATING_STACKS  if (limit.rlim_cur == RLIM_INFINITY)    limit.rlim_cur = ARCH_STACK_MAX_SIZE;# ifdef NEED_SEPARATE_REGISTER_STACK  max_stack = limit.rlim_cur / 2;# else  max_stack = limit.rlim_cur;# endif#else  /* Play with the stack size limit to make sure that no stack ever grows     beyond STACK_SIZE minus one page (to act as a guard page). */# ifdef NEED_SEPARATE_REGISTER_STACK  /* STACK_SIZE bytes hold both the main stack and register backing     store. The rlimit value applies to each individually.  */  max_stack = STACK_SIZE/2 - __getpagesize ();# else  max_stack = STACK_SIZE - __getpagesize();# endif  if (limit.rlim_cur > max_stack) {    limit.rlim_cur = max_stack;    setrlimit(RLIMIT_STACK, &limit);  }#endif  __pthread_max_stacksize = max_stack;}