ado_mutex_lock()

Захват мьютекса

Прототип:

#include <audio_driver.h>
#define ado_mutex_lock( mutex );

Аргументы:

mutex
Указатель на мьютекс типа pthread_mutex_t *.

Библиотека:

libado

Описание:

Макрос ado_mutex_lock() осуществляет захват (блокирование) указанного мьютекса mutex.

Макрос опредляется как pthread_mutex_lock() или ado_mutex_lock_debug() в зависимости от того, определены ли макросы ADO_MUTEX_DEBUG и ADO_DEBUG (см. Отладка драйвера). Отладочная версия использует ado_debug() для отображения сообщения, помогающего локализовать проблемный мьютекс драйвера.

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

EOK
Успешное завершение (аналогично pthread_mutex_lock()).
EAGAIN
Недостаточно системных ресурсов для блокирования мьюьтекса mutex.
EDEADLK
Вызывающий поток уже владеет мьютексом mutex, но он не настроен на рекурсивную логику.
EINVAL
Некорректный мьютекс mutex.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Нет

Тематические ссылки:

ado_mutex_destroy(), ado_mutex_init(), ado_mutex_unlock(), pthread_mutex_lock()




Предыдущий раздел: Библиотека libado