pthread_rwlock_unlock()

Освободить блокировку чтения/записи

Прототип:

#include <pthread.h>
int pthread_rwlock_unlock( pthread_rwlock_t *rwl );

Аргументы:

rwl
Указатель на объект pthread_rwlock_t, который требуется разблокировать.

Библиотека:

libc

Описание:

Функция pthread_rwlock_unlock() снимает блокировку чтения-записи rwl. Блокировка чтения-записи может стать доступной для любых потоков, которые были заблокированы блокировкой чтения-записи, в зависимости от того, была ли блокировка чтения-записи заблокирована в исключительном или совместно используемом режиме.


Note: Блокировка чтения-записи должна принадлежать вызывающему потоку. Если вызывающий поток не удерживает блокировку, статус ошибки не возвращается, и поведение этой блокировки чтения-записи не определено.

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

EOK
Успешное завершение.
EAGAIN
При первом использовании статически инициализированной блокировки чтения-записи было недостаточно системных ресурсов для инициализации блокировки чтения-записи.
EFAULT
Произошла ошибка, когда ядро попыталось получить доступ к rwl.
EINVAL
Блокировка чтения-записи rwl некорректна.
EPERM
Ни один поток не имеет блокировки чтения или записи для rwl или вызывающий поток не имеет блокировки записи для rwl.

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

POSIX 1003.1 THR

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

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

pthread_rwlock_destroy(), pthread_rwlock_init(), pthread_rwlock_rdlock(), pthread_rwlock_tryrdlock(), pthread_rwlock_trywrlock(), pthread_rwlock_wrlock()




Предыдущий раздел: Описание API системной библиотеки