Функция удаляет задачу, находящуюся в состоянии DORMANT. Если удаляемая задача будет находиться в другом состоянии, сервис вернет код ошибки.
Функция сбрасывает поле id_task TCB задачи, и удаляет задачу из списка доступных в системе. Освободившуюся память можно использовать для создания другой задачи. Процесс удаления необратимый - для запуска удаленной задачи нужно создать ее заново функцией tn_task_create.
Вызов:
TN_RETVAL tn_task_delete(TN_TCB *task);
Разрешен вызов:
В контексте задачи
Параметры функции:
task
Возвращаемые значения:
TERR_WRONG_PARAMTERR_NOEXSTERR_WCONTEXTTERR_NO_ERR
Пример вызова:
extern TN_TCB tcb_Task1 TN_DATA; /* ... */ if (need_delete_task_1) tn_task_delete(&tcb_Task1); /* ... */