LINUX.ORG.RU

Размер стека и thread'ы


1

3

Привет.
Какова политика распределения стека к thread'ам процесса?
Т.е. допустим есть стек 128к на процесс, процесс создаёт thread. Второй thread будет делить с первым эти же 128к? В какой части стека будут располагаться фреймы второго thread'a?
Спасибо.

★★★★★
On Linux/x86-32, the default stack size for a new thread is 2 megabytes.  Under the NPTL threading implementation, if the RLIMIT_STACK soft resource limit at the time the program started has any value other than «unlimited», then it determines the default stack size of new threads.  Using pthread_attr_setstacksize(3), the stack size attribute can be explicitly set in the attr argument used to create a thread, in order to obtain a stack size other than the default.

man 3 pthread_create

dvl36
()
Ответ на: комментарий от anonymous

Если стек кончится, то прилетит stack overflow или же поток будет писать в область памяти, находящуюся далее?

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

поток будет писать в область памяти, находящуюся далее?

основной процесс точно будет писать дальше, поток скорее всего тоже.

mashina ★★★★★
()
Ответ на: комментарий от UVV

Должен попытаться довыделить место под стек. Если не получится — то ой, точнее, SIGSEGV.

one_more_hokum ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.