Чтение онлайн

ЖАНРЫ

Параллельное и распределенное программирование на С++
Шрифт:

Синопсис

THR #include <pthread.h>

int pthread_rwlockattr_destroy(

pthread_rwlockattr_t *attr); int pthread_rwlockattr_init(pthread_rwlockattr_t *attr);

Описание

Функция pthread_rwlockattr_destroy используется для разрушения объекта атрибутов для блокировки чтения-записи. Разрушенный объект атрибутов, адресуемый параметром attr, можно инициализировать повторно с помощью функции pthread_rwlockattr_init ; результаты ссылки на этот объект после его разрушения не определены. В конкретной реализации функция pthread_rwlockattr_destroy может устанавливать объект, адресуемый параметром attr, равным недействительному значению.

Функция pthread_rwlockattr_init предназначена

для инициализации объекта атрибутов блокировки чтения-записи attr значением, действующим по умолчанию для всех атрибутов, определенных конкретной реализацией.

Если функция pthread_rwlockattr_init вызывается для уже инициализированного объекта атрибутов attr, то результаты вызова этой функции не определены.

После того как объект атрибутов блокировки чтения-записи уже был использован для инициализации одной или нескольких блокировок чтения-записи, Любая функция, которая оказывает влияние на объект атрибутов (включал деструктор), никак не отразится на ранее инициализированных блокировках чтения-записи.

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

При успешно м завершении функции pthread_rwlockattr_destroy и pthread_rwlockattr_init возвращают нулевое значение; в противном случае — код ошибки, обозначающий ее характер.

Ошибки

Функция pthread_rwlockattr_destroy может завершиться неудачно, если:

[EINVAL] значение, заданное параметром attr, недействительно.

Функция pthread_rwlockattr_init завершится неудачно, если:

[ENOMEM] для инициализации объекта атрибутов блокировки чтения-записи недостаточно существующей памяти.

Эти функции не возвращают код ошибки [EINTR].

Примеры

Отсутствуют.

Замечания по использованию

Отсутствуют.

Логическое обоснование

Отсутствует.

Будущие направления

Отсутствуют.

Смотри также

pthread_rwlock_destroy, pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared , то м 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).

• Был отредактирован раздел «Смотри также».

pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared

Имя

pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared —функции считывания и установки атрибута process-shared в объекте атрибутов блокировки чтения-записи.

Синопсис

THRTSH #include <pthread.h>

int pthread_rwlockattr_getpshared(

const pthread_rwlockattr_t *restrict attr, int *restrict pshared) ; int pthread_rwlockattr_setpshared(

pthread_rwlockattr_t * attr, int pshared);

Описание

Функция pthread_rwlockattr_getpshared используется для получения значения атрибута process-shared из инициализированного объекта атрибутов, адресуе м ого пара м етро м attr. Функция pthread_rwlockattr_setpshared позволяет установить атрибут process-shared

в инициализированно м объекте атрибутов, адресуе м о м пара м етро м attr.

Атрибут process-sharedycтанaвливaeтcя равны м значению PTHREAD_PROCESS_ SHARED, чтобы разрешить использование объекта блокировки чтения-записи любы м потоко м, и м ею щ и м доступ к области па м яти, в которой он раз м е щ ен, даже если эта область па м яти разделяется нескольки м и процесса м и. Если же атрибут process-shared равен значению PTHREAD_PROCESS_PRIVATE, объект блокировки чтения-записи должен использоваться только потока м и, созданны м и в одно м процессе с потоко м, который его инициализировал; если с эти м объекто м блокировки чтения-записи попытаются работать потоки из различных процессов, поведение такой програ мм ы не определено. По у м олчанию для этого атрибута устанавливается значение PTHREAD_PROCESS_PRIVATE.

Дополнительные атрибуты, их значения по умолчанию и имена соответствующих функций считывания и установки значений этих атрибутов определяются конкретной реализацией.

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

При успешно м завершении функция pthread_rwlockattr_getpshared возвра щ ает нулевое значение и сохраняет считанное значение атрибута process-shared объекта attr в объекте, адресуе м о м пара м етро м pshared\ в противно м случае возвра щ ается код ошибки, обозначающий ее характер.

При успешно м завершении функция pthread_rwlockattr_setpshared возвращает нулевое значение; в противном случае — код ошибки, обозначающий ее характер.

Ошибки

Функции pthread_rwlockattr_getpshared и pthread_rwlockattr_ setpshared м огут завершиться неудачно, если:

[ EINVAL ] значение, заданное пара м етро м attr, недействительно.

Функция pthread_rwlockattr_setpshared м ожетзавершиться неудачно, если:

[EINVAL] новое значение, заданное для атрибута, попа д ает вне д иапазона значений, д ействительных д ля этого атрибута.

Эти функции не возвра щ ают ко д ошибки [EINTR].

Примеры

Отсутствуют.

Замечания по использованию

Отсутствуют.

Логическое обоснование

Поделиться с друзьями: