Функция устанавливает период переключения задач по карусельному методу (round-robin) для выбранного приоритета. Возможна установка индивидуального периода переключения для каждого приоритета.
Вызов:
TN_RETVAL tn_sys_tslice_ticks (TN_UWORD priority, TN_UWORD value);
Разрешен вызов:
В контексте задачи
Параметры функции:
priority
priority
⊆ [1 … (TN_NUM_PRIORITY
- 2)]value
value
⊆ [NO_TIME_SLICE
… MAX_TIME_SLICE
], где NO_TIME_SLICE
= 0, а MAX_TIME_SLICE
= (UINT_MAX
- 1). Если value
= NO_TIME_SLICE
, карусельное планирование для задач с приоритетом priority
не осуществляется.
Возвращаемые значения:
TERR_WRONG_PARAM
TERR_WCONTEXT
TERR_NO_ERR
Пример вызова:
/* установка round-robin кванта равного 10 системных тиков для задач с приоритетом равным 10 */ tn_sys_tslice_ticks(10, 10); /* запрещение карусельного планирования для задач с приоритетом равным 10 */ tn_sys_tslice_ticks(10, NO_TIME_SLICE);