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