Шрифт:
Возвращаемые значения
При успешно м завершении функции pthread_attr_getinheritsched Hpthread_attr_setinheritsched возвращают нулевое значение; в противном случае — код ошибки, обозначающий ее характер.
Ошибки
Функция pthread_attr_setinheritsched м ожет завершиться неудачно, если:
[EINVAL] значение, заданное пара м етро м inheri tsched, недействительно;
[ENOTSUP] была сделана попытка установить атрибут равны м значению, которое не поддерживается реализацией.
Эти функции не возвра щ ают код ошибки [ EINTR].
Примеры
Отсутствуют.
Замечания по использованию
После установки этих атрибутов поток м ожно создать путе м вызова функции pthread_create с заданны м и атрибута м и. Использование этих функций не оказывает влияния на поток, выполняе м ый в данный м о м ент.
Логическое обоснование
Отсутствует.
Будущие направления
Отсутствуют.
Смотри также
pthread_attr_destroy , pthread_attr_getscope , pthread_attr_getschedpolicy, pthread_attr_getschedparam, pthread_create , то м Base Definitions стандарта IEEE Std 1003.1-2001, <pthread.h>, <sched.h>.
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5. Включены для согласования с расширение м POSIX Threads Extension.
От м ечены как часть группы Realtime Threads Feature Group.
Issue 6
Функции pthread_attr_getinheritsched и pthread_attr_setinheritsched от м ечены как часть опций Threads и Thread Execution Scheduling.
Условие ошибки [ENOSYS] было удалено,поскольку в заглушках нет необходимости, если реализация не поддерживает опцию Thread Execution Scheduling.
В целях согласования со стандартом ISO/IEC 9899: 1999 в прототип функции pthread_attr_getinheritsched было добавлено ключевое слово restrict.
pthread_attr_getschedparam, pthread_attr_setschedparam
Имя
pthread_attr_getschedparam, pthread_attr_setschedparam— функции считывания и установки атрибута schedparam.
Синопсис
THR #include <pthread.h>
int pthread_attr_getschedparam (const pthread_attr_t *restrict attr, struct sched_param *restrict param);
int pthread_attr_setschedparam (pthread_attr_t *restrict attr,const struct sched_param *restrict param);
Описание
Функции pthread_attr_getschedparam и pthread_attr_setschedparam используются для считывания и установки соответственно атрибутов параметров планирования в объекте, заданном параметром attr. Содержимое структуры param определено в заголовке <sched.h>. Для установки стратегий планирования SCHED_FIFO и SCHED_RR единственным обязательным членом структуры param является sched_priority.
TSP Для установки стратегии планирования SCHED_SPORADIC необходимо установить следующие члены структуры param: sched_priority, sched_ss_low_priority, sched_ss_repl_period, sched_ss_ini t_budget и sched_ss_max_repl. Для успешного выполнения функции установки необходи м о, чтобы заданное значение члена sched_ss_repl_period было больше или равно значению заданного члена sched_ss_init _ budget; в противно м случае функция завершится неудачно. Для успешного выполнения функции установки также необходи м о, чтобы значение члена sched_ss_max_repl находилось в пределах включающего диапазона [1.{SS_REPL_MAX}]; в противном случае функция завершится неудачно.
Возвращаемые значения
При успешном завершении функции pthread_attr_getschedparam и pthread_attr_setschedparam возвращают нулевое значение; в противном случае — код ошибки, обозначающий ее характер.
Ошибки
Функция pthread_attr_setschedparam м ожет завершиться неудачно, если:
[EINVAL] значение, заданное пара м етро м param, недействительно;
[ ENOTSUP ] была сделана попытка установить атрибут равны м значению, которое не под д ерживается реализацией.