Для выполнения синхронизации можно использовать только объект, адресуемый параметром
Возвращаемые значения
При успешно
Проверка на наличие ошибок с кода
Ошибки
Функция pthread_rwlock_destroy ()
[EBUSY] реализация обнаружила попытку разрушить заблокированный объект, адресуе
[EINVAL] значение, за
Функция pthread_rwlock_init () завершится неу
[EAGAIN] систе
[ENOMEM] для инициализации объекта блокировки для чтения и записи недостаточно существующей памяти;
[EPERM] инициатор вызова не обладает привилегиями для выполнения этой операции.
Функция pthread_rwlock_init ()
[EBUSY] реализация обнаружила попытку повторно инициализировать объект блокировки, адресуе
[EINVAL] значение, заданное пара
Эти функции не возвращают ко
Примеры
Отсутствуют.
Замечания по использованию
Отсутствуют.
Логическое обоснование
Отсутствует.
Будущие направления
Отсутствуют.
Смотри также
pthread_rwlock_rdlock (), pthread_rwlock_timedrdlock (), pthread_rwlock_timedwrlock (), pthread_rwlock_tryrdlock (), pthread_rwlock_trywrlock(), pthread_rwlock_unlock(), pthread_rwlock_wrlock (), том Base Definitions стандарта IEEE Std 1003.1-2001, <pthread.h>.
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5. Issue 6
Для согласования со стандартом IEEE Std 1003.1j-2000 были внесены следующие изменения.
• В разделе «Синопсис» изменена метка. Новая метка THR обозначает, что рассматриваемые функции теперь являются частью опции Threads (ранее они относились к опции Read- Write Locks стандарта IEEE Std 1003.1j-2000, а также считались частью дополнения XSI). В раздел «Синопсис» также не входит макрос инициализации.
• Раздел «Описание» отредактирован следующим образом:
— явно отмечено выделение ресурсов при инициализации объекта блокировки для чтения и записи;
— добавлен абзац, в котором указывается, что копии объекта блокировки для чтения и записи использовать нельзя.
• В раздел «Ошибки» добавлен код ошибки [EINVAL] , означающий, что при вызове функции pthread_rwlock_init () значение, заданное пара
• Отредактирован раздел «Смотри также».
В целях согласования со стандарто
pthread_rwlock_rdlock, pthread_rwlock_tryrdlock
Имя
pthread_rwlock_rdlock, pthread_rwlock_tryrdlock— функции блокирования объекта блокировки чтения- записи для обеспечения чтения.
Синопсис
THR
#include <pthread.h>
int pthread_rwlock_rdlock (pthread_rwlock_t
Описание
Функция pthread_rwlock_rdlock() при
TPS Если поддерживается опция Thread Execution Scheduling и потоки, участвующие в данной блокировке, выполняются с использованием стратегий планирования SCHED_FIFO или SCHED_RR, то вызывающий поток не получит эту блокировку, если ее удерживает записывающий поток или если по этому объекту блокировки заблокированы записывающие потоки такого же или более высокого приоритета; в противном случае вызывающий поток получит блокировку.
TSP TSP Если поддерживается опция Thread Execution Scheduling и потоки, участвующие в данной блокировке, выполняются с использованием стратегии планирования SCHED_SPORADIC, то вызывающий поток не получит эту блокировку, если ее удерживает записывающий поток или если по этому объекту блокировки заблокированы записывающие потоки такого же или более высокого приоритета; в противном случае вызывающий поток получит блокировку.
Если опция Thread Execution Scheduling не поддерживается, то только конкретнал реализация