Scroll to navigation

pthread_attr_setstackaddr(3) Library Functions Manual pthread_attr_setstackaddr(3)

ИМЯ

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

БИБЛИОТЕКА

POSIX threads library (libpthread, -lpthread)

СИНТАКСИС

#include <pthread.h>
int pthread_attr_setstackaddr(pthread_attr_t *attr, void *stackaddr);
int pthread_attr_getstackaddr(const pthread_attr_t *restrict attr,
                              void **restrict stackaddr);

ОПИСАНИЕ

Данные функции устарели: не используйте их. Используйте pthread_attr_setstack(3) и pthread_attr_getstack(3).

Функция pthread_attr_setstackaddr() изменяет атрибут адреса стека нити в объекте атрибутов нити, на который указывает attr, в значение stackaddr. Данным атрибутом задаётся расположение стека, который будет использоваться нитью, созданной с учётом объекта атрибутов нити attr.

Значение stackaddr должно указывать на буфер из, по крайней мере, PTHREAD_STACK_MIN байт, который был выделен вызывающим. Страницы выделенного буфера должны быть доступны на чтение и запись.

Функция pthread_attr_getstackaddr() возвращает атрибут адреса стека у объекта атрибутов нити, на который указывает attr, в буфер на который указывает stackaddr.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении эти функции возвращают 0; при ошибке возвращается ненулевой номер ошибки.

ОШИБКИ

Ошибок не предполагается (тем не менее, приложения должны обрабатывать возможную ошибку возврата).

ВЕРСИИ

Эти функции доступны начиная с glibc 2.1.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
pthread_attr_setstackaddr(), pthread_attr_getstackaddr() Безвредность в нитях MT-Safe

СТАНДАРТЫ

В POSIX.1-2001 эта функция определена, но объявлена устаревшей. В POSIX.1-2008 спецификация этих функций удалена.

ПРИМЕЧАНИЯ

Не используйте эти функции! Они не являются переносимыми, так как не предоставляют возможности указать направление роста или диапазон стека. Например, для архитектур со стеком растущим вниз, в stackaddr указывается следующий адрес за самым верхним адресом выделяемой области стека, Однако для архитектур со стеком растущим вверх, в stackaddr указывается самый нижний адрес выделяемой области стека. area. В отличие от этого, значение stackaddr, используемое pthread_attr_setstack(3) и pthread_attr_getstack(3), всегда является указателем на самый нижний адрес в выделяемой области стека (а в аргументе stacksize указывается диапазон стека).

СМОТРИТЕ ТАКЖЕ

pthread_attr_init(3), pthread_attr_setstack(3), pthread_attr_setstacksize(3), pthread_create(3), pthreads(7)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и) Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Darima Kogan <silverdk99@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.

15 декабря 2022 г. Справочные страницы Linux 6.03