Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       pthread_attr_setstacksize, pthread_attr_getstacksize - изменяет/возвращает атрибут размера
       стека у объекта атрибутов нити

LIBRARY

       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(),                           │ Безвредность в нитях │ MT-Safe  │
       │pthread_attr_getstacksize()                            │                      │          │
       └───────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       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
       <azamat.hackimov@gmail.com>,   kogamatranslator49  <r.podarov@yandex.ru>,  Kogan,  Max  Is
       <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.