Установить способ выделения памяти для стека потока
#include <pthread.h>
int pthread_attr_setstacklazy( pthread_attr_t *attr,
int lazystack );
- attr
- Указатель на структуру
pthread_attr_t
, определяющую атрибуты создаваемого потока. Подробнее см. pthread_attr_init().
- lazystack
- Одно из значений:
- PTHREAD_STACK_LAZY (по умолчанию)
- выделять стек итеративно по мере необходимости.
- PTHREAD_STACK_NOTLAZY
- выделять весь стек сразу. Используйте это значение чтобы исключить ситуации, когда поток терминируется в процессе работы из-за невозможности выделить новые страницы стека. Также рекомендуется установить достаточный размер стека для конкретных потоков, так как имеется вероятность, что размер по умолчанию слишком избыточнен.
libc
Функция pthread_attr_setstacklazy() устанавливает способ выделения памяти для стека (lazystack) в атрибутах attr создаваемого потока.
- EOK
- Успешное завершение.
- EINVAL
- Объект attr не является корректным.
- ENOTSUP
- Значение lazystack некорректно.
ЗОСРВ «Нейтрино»
- Нет
- Обработчик прерываний
- Нет
- Обработчик сигналов
- Да
- В потоке
- Да
pthread_attr_getstacklazy(), pthread_attr_setinheritsched()
Предыдущий раздел: Описание API системной библиотеки