osSemaphoreDelete() - удаление семафора в CMSIS-RTOS2

Удаляет объект Семафор (Semaphore) по его идентификатору.

osStatus_t osSemaphoreDelete (osSemaphoreId_t  semaphore_id)

Параметры

semaphore_id
semaphore ID obtained by osSemaphoreNew()
Идентификатор семафора, полученный с помощью функции osSemaphoreNew().
typedef  void  *osSemaphoreId_t;



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

osStatus_t
status code that indicates the execution status of the function
Код состояния как индикатор выполнения функции.

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

 osOK :  семафора был удалён;

 osErrorParameter :  неверно указан идентификатор семафора (semaphore_id): ошибка имени или NULL;

 osErrorResource :  семафор находится в недопустимом (ошибочном) состоянии;

 osErrorISR :  попытка удаления семафора из процедуры обработки прерывания (ISR);

 osErrorSafetyClass :  класс безопасности вызывающей задачи ниже, чем класс безопасности указанного семафора.




Описание

Функция osSemaphoreDelete() удаляет объект Семафор (Semaphore) по его идентификатору и освобождает память, выделенную под семафор. Указатель на идентификатор семафора становится недействительным (=NULL) и не может быть использован.

Функция osSemaphoreDelete() не может быть вызвана из процедуры обработки прерывания (ISR - Interrupt Service Routines).