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