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