====== OSA : DeleteTask ====== **OS_Task_Delete (OST_TASK_POINTER tp)**\\ === === Остановить внешнюю задачу и удалить ее из списка активных задач. С вызовом этого сервиса нужно быть осторожным: следует быть увереным, что останавливаемая задача не занимает какой-нибудь ресурс, которого ждет другая задача. Рекомендуется после выполняния этого сервиса обнулять указатель на дескриптор. Перед вызовом этого сервиса нужно быть уверенным в том, что //tp// инициализирован сервисом ##[[osa:ref:allservices:OS_Task_GetCur|OS_Task_GetCur]]##. В качестве //tp// можно использовать макрос **//this_task//** или сервис ##[[osa:ref:allservices:OS_Task_GetCur|OS_Task_GetCur]]##(). === Разрешен вызов: === Везде === Параметры функции: === {| class = "fpl" |- |//''tp''// |Указатель на дескиптор задачи (##[[osa:ref:description:data_types#OST_TASK_POINTER|OST_TASK_POINTER]]##) |} === Возвращаемое значение: === Нет === Пример вызова: === void Task (void) { for (;;) { /*...*/ OS_Task_Delete (tp); tp = (OST_TASK_POINTER)0; /*...*/ } } === Old style name === **OS_DeleteTask**\\ === См. также === * [[osa:ref:allservices:OS_Task_Create|OS_Task_Create]] * [[osa:ref:allservices:OS_Task_Replace|OS_Task_Replace]] * [[osa:ref:allservices:OS_Task_Delete|OS_Task_Delete]] * [[osa:ref:allservices:OS_Task_Define|OS_Task_Define]] * [[osa:ref:allservices:OS_Task_GetCur|OS_Task_GetCur]] * [[osa:ref:allservices:OS_Task_GetCreated|OS_Task_GetCreated]] * [[osa:ref:allservices:OS_Task_Pause|OS_Task_Pause]] * [[osa:ref:allservices:OS_Task_Continue|OS_Task_Continue]] * [[osa:ref:allservices:OS_Task_IsPaused|OS_Task_IsPaused]] * [[osa:ref:allservices:OS_Task_GetPriority|OS_Task_GetPriority]] * [[osa:ref:allservices:OS_Task_SetPriority|OS_Task_SetPriority]] ---- * [[osa:ref:services:alphabetical|Алфавитный указатель]] * [[osa:ref:services:brieflist|Все сервисы]] ~~UP~~