~~NOTOC~~
===== tn_mutex_delete() =====
Функция предназначена для удаления мютекса. Поле ''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);
\\
----
[[tnkernel:ref:mutex:intro#Сервисы управления мютексами|К списку сервисов]]