ado_rwlock_init()

Инициализация объекта rw-блокировки

Прототип:

#include <audio_driver.h>
int ado_rwlock_init( pthread_rwlock_t *rwl );

Аргументы:

rwl
Указатель на структуру pthread_rwlock_t для объекта блокировки чтения-записи.

Библиотека:

libado

Описание:

Макрос выделяет и инициализирует ресурсы для обслуживания объекта rw-блокировки.

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

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

EOK
Успешное завершение (аналогично pthread_rwlock_init()).
EAGAIN
Недостаточно ресурсов для создания объекта синхронизации.
EBUSY
ОБъект синхронизации уже был инициализирован или несупешно освобожден.
EFAULT
При обращении ядра к rwl или attr возникла ошибка.
EINVAL
Некорректные атрибуты объекта синхронизации.

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

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

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

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

ado_rwlock_destroy(), ado_rwlock_rdlock(), ado_rwlock_unlock(), ado_rwlock_wrlock(), pthread_rwlock_init()




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