pthread_attr_setstacksize, pthread_attr_getstacksize -
изменяет/возвращает
атрибут
размера
стека у
объекта
атрибутов
нити
POSIX threads library (
libpthread,
-lpthread)
#include <pthread.h>
int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize);
int pthread_attr_getstacksize(const pthread_attr_t *restrict attr,
size_t *restrict stacksize);
Функция
pthread_attr_setstacksize()
изменяет
атрибут
размера
стека у
объекта
атрибутов
нити, на
который
указывает
attr, в
значение
stacksize.
Атрибутом
размера
стека
определяется
минимальный
размер (в
байтах),
который
будет
выделен
для нитей,
созданных
с учётом
объекта
атрибутов
нити
attr.
Функция
pthread_attr_getstacksize()
возвращает
атрибут
размера
стека у
объекта
атрибутов
нити, на
который
указывает
attr, в буфер
на который
указывает
stacksize.
При
успешном
выполнении
эти
функции
возвращают
0; при ошибке
возвращается
ненулевой
номер
ошибки.
Функция
pthread_attr_setstacksize() может
завершиться
со
следующей
ошибкой:
- EINVAL
- Размер
стека
меньше PTHREAD_STACK_MIN
(16384) байт.
В
некоторых
системах
pthread_attr_setstacksize() может
завершиться
ошибкой
EINVAL,
если
значение
stacksize не
кратно
размеру
системной
страницы.
These functions are provided since glibc 2.1.
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
pthread_attr_setstacksize(),
pthread_attr_getstacksize() |
Безвредность
в нитях |
MT-Safe |
POSIX.1-2001, POSIX.1-2008.
Подробную
информацию
о размере
стека по
умолчанию
для новых
нитей
смотрите в
pthread_create(3).
Размер
стека нити
не
изменяется
во время
создания
нити.
Только
главная
нить может
динамически
увеличивать
свой стек.
Функция
pthread_attr_setstack(3)
позволяет
приложению
изменять
размер и
положение
стека
вызывающего,
который
будет
использован
нитью.
Как
указано в glibc 2.8,
если
указанное
значение
stacksize не
кратно
STACK_ALIGN
(для
большинства
архитектур
16 байт), то
оно может
быть
округлено
в меньшую
сторону,
нарушая
при этом POSIX.1,
где
говорится,
что
выделенный
стек
должен
быть не
менее
stacksize
байт.
Смотрите
pthread_create(3).
getrlimit(2),
pthread_attr_init(3),
pthread_attr_setguardsize(3),
pthread_attr_setstack(3),
pthread_create(3),
pthreads(7)
Русский
перевод
этой
страницы
руководства
был сделан
Alexey, Azamat Hackimov <
[email protected]>, kogamatranslator49
<
[email protected]>, Kogan, Max Is <
[email protected]>, Yuri
Kozlov <
[email protected]> и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]