Ошибки
Функция pthread_attr_getguardsize () завершится неудачно, если:
[EINVAL ] значение, заданное пара м етро м guardsi ze, недействительно;
[ EINVAL ] значение пара м етра аttr недействительно.
Эти функции не возвращают код ошибки [EINTR].
Примеры
Отсутствуют.
Замечания по использованию
Отсутствует.
Логическое обоснование
Атрибут guardsize предла г ается для испо л ьзования при л ожение м по дву м причина м.
1. На защиту от переполнения могут потенциально затрачиваться существенные системные ресурсы. Для приложения, в котором создается большое количество потоков и существует уверенность в том, что при выполнении потоков их стеки никогда не будут переполнены, можно сэкономить системные ресурсы, отключив выделение областей защиты.
2. Если потоки размещают в стеке большие структуры данных, то для обнаружения факта переполнения стека могут понадобиться области защиты большого объема.
Будущие направления
Отсутствуют.
Смотри также
То м Base Definitions стандарта IEEE Std 1003.1-2001.
, .
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5.
Issue 6
Из раздела «Ошибки» было удалено третье условие возникновения ошибки [EINVAL] , поскольку оно включается во второе условие.
В целях согласования со стандарто м ISO/IEC 9899: 1999 в прототип функции pthread_attr_getguardsize () было добавлено ключевое слово restrict.
pthread_attr_getinheritsched, pthread_attr_setinheritsched
Имя
pthread_attr_getinheritsched, pthread_attr_setinheritsched— функции считывания и установки атрибута inheritsched (REALTIME THREADS).
Синопсис
THRTPS #include
int pthread_attr_getinheritsched (
const pthread_attr_t *restrict attr, int *restrict inheritsched);
int pthread_attr_setinheritsched (pthread_attr_t *attr,
int inheritsched);
Описание
Функции pthread_attr_getinheritsched() и pthread_attr_setinheritsched() используются для считывания и установки соответственно атрибута inheri tsched в объекте, заданно м пара м етро м аttr.
Если при вызове функции pthread_create () используются объекты атрибутов, то атрибут inheritsched определяет, как будут устанавливаться другие атрибуты планирования создавае м ого потока.
Значение PTHREAD_INHERIT_SCHED говорит о то м, что атрибуты планирования потоков наследуются от создающего потока, а атрибуты планирования, содержащиеся в объекте, заданно м пара м етро м attr, игнорируются.
Значение PTHREAD_EXPLICIT_SCHED подразу м евает, что атрибуты планирования потоков устанавливаются равны