Функция предназначена для удаления мютекса. Поле id_mutex структуры mutex после выполнения сервиса устанавливается в 0. Приоритет задачи, владеющий мютексом будет восстановлен, если он был изменен вследствие протокола обхода инверсии приоритетов.
Задача владеющая мютексом никак не будет извещена о его удалении, однако, сервис освобождения мютекса вернет код ошибки TERR_DLT. Все задачи, ожидающие освобождения мютекса будут переведены в состояние RUNNABLE.
Вызов:
TN_RETVAL tn_mutex_delete(TN_MUTEX *mutex);
Разрешен вызов:
В контексте задачи
Параметры функции:
mutex
Возвращаемые значения:
TERR_WRONG_PARAMTERR_WCONTEXTTERR_NOEXSTERR_NO_ERR
Пример вызова:
extern TN_MUTEX mutex_test; tn_mutex_delete(&mutex_test);