Функция приостанавливает выполнение задачи, переводя ее в состояние SUSPENDED. Если задача находится в состоянии WAITING, она переводится в состояние WAITING_SUSPENDED.
Функция может приостановить как выполнение текущей задачи, так и выполнение любой другой задачи.
Вызов:
TN_RETVAL tn_task_suspend (TN_TCB *task);
Разрешен вызов:
В контексте задачи
Параметры функции:
task
Возвращаемые значения:
TERR_WRONG_PARAM
TERR_NOEXS
TERR_WCONTEXT
TERR_OVERFLOW
TERR_WSTATE
TERR_NO_ERR
Пример вызова:
extern TN_TCB tcb_Task1 TN_DATA; /* ... */ if (need_suspend_task_1) tn_task_suspend(&tcb_Task1); /* ... */