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; при ошибке
возвращается
ненулевой
номер
ошибки.
Ошибок не
предполагается
(тем не
менее,
приложения
должны
обрабатывать
возможную
ошибку
возврата).
These functions are provided since 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 <
[email protected]>, kogamatranslator49
<
[email protected]>, Kogan, Max Is <
[email protected]>, Yuri
Kozlov <
[email protected]> и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]