~~NOTOC~~ ===== tn_task_resume() ===== {{tnkernel:ref:attr_call_task.png|Разрешен вызов только в контексте задачи}} {{tnkernel:ref:attr_call_ct_sw.png|Может привести к переключению контекста}} Функция предназначена для вывода задачи из состояния //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); /* ... */ \\ ---- [[tnkernel:ref:task:intro#сервисы_управления_задачами|К списку сервисов]]