Параллельное и распределенное программирование на С++ (Хьюз, Хьюз) - страница 426

то поддержка этого значения определяется реализацией, т.е. реализация может не позволить приложению динамически изменять стратегию планирования, устанавливая ee равной значению SCHED_SPORADIC. Для стратегии планирования, определяе м ой значение м SCHED_SPORADIC, устанавливаются такие пара м етры: sched_ss_low_priority, sched_ss_repl_period, sched_ss_init_budget, sched_priority и sched_ss_max_repl. Для успешного выполнения фу н кции установки пара м етров значение пара м етра sched_ss_repl_period должно быть больше или равно значению sched_ss_init_budget; в противном случае функция завершится неудачно. Кро м е того, для успешного выполнения этой функции значение пара м етра sched_ss_max_repl должно попадать во включающий диапазон [1, SS_REPL_MAX] ; в противном случае функция завершится неудачно.

При неудачном завершении функции pthread_setschedparam() параметры планирования для заданного потока изменены не будут.

Возвращаемые значения

При успешном завершении функции pthread_getschedparam() Hpthread_setschedparam() возвращают нулевое значение; в противном случае — кодошибки, обозначающий ее характер.

Ошибки

Функци я pthread_getschedparam () м ожет завершитьс я неудачно, если:

[ESRCH]  з н ачение, заданное пара м етро м thread, не относится ни к од-

ному из существующих потоков.

Функция pthread_setschedparam() может завершиться неудачно, если:

[EINVAL]  значение, заданное параметром policy, или значение одного из параметров планирования, связанных со значением стратегии планирования policy, недействительно;

была сделана попытка установить для стратегии планирования или ее параметров неподдерживаемые значения;

была сделана попытка динамически изменить стратегию планирования, установив для нее значение SCHED_SPORADIC, при том, что реализация не поддерживает такое изменение;

инициатор вызова не имеет соответствующего разрешения устанавливать параметры планирования или стратегию планирования для заданного потока;

реализация не позволяет приложению модифицировать один из параметров в соответствии с заданным значением;

значение, заданное пара м етро м thread, не относится ни к одному из существующих потоков.

Эти функции не возвращают код ошибки [EINTR].

[ENOTSUP]

TSP [ENOTSUP]

[EPERM]

[EPERM]

[ESRCH]

Примеры

Отсутствуют.

Замечания по использованию

Отсутствуют.

Логическое обоснование

Отсутствует.

Будущие направления

Отсутствуют.

Смотри также

pthread_setschedprio (), sched_getparam(), sched_getscheduler (), то м Base Definitions craHjapTaIEEEStd 1003.1-2001, , .