tn_task_resume()

Разрешен вызов только в контексте задачи Может привести к переключению контекста

Функция предназначена для вывода задачи из состояния SUSPENDED.

Если задача находится в состоянии SUSPENDED, она переводится в состояние READY, при этом она будет поставлена в очередь готовых к выполнению последней. Если задача находится в состоянии WAITING_SUSPENDED, она будет переведена в состояние WAITING и продолжит ожидание события.

Вызов:

TN_RETVAL tn_task_resume (TN_TCB *task);

Разрешен вызов:

В контексте задачи

Параметры функции:

task
указатель на TCB восстанавливаемой задачи


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

TERR_WRONG_PARAM
некорректное значение параметра (замечание: данный код возврата возможен только в случае использования сервисов с проверкой параметров)
TERR_NOEXS
попытка восстановления объекта, не являющегося задачей (замечание: данный код возврата возможен только в случае использования сервисов с проверкой параметров)
TERR_WCONTEXT
попытка восстановления задачи в прерывании или в пользовательской критической секции
TERR_WSTATE
попытка восстановления задачи, которая находится в состоянии, отличном от WAITING_SUSPENDED или SUSPENDED
TERR_NO_ERR
успешное выполнение


Пример вызова:

extern TN_TCB tcb_Task1  TN_DATA;
 
/* ... */
if (need_resume_task_1)
    tn_task_resume(&tcb_Task1);
/* ... */



К списку сервисов