pthread_condattr_getpshared, pthread_condattr_setpshared

Имя

pthread_condattr_getpshared, pthread_condattr_setpshared — функции считывания и установки атрибутаусловной пере м енной process-shared.

Синопсис

THR TSH

#include <pthread.h>

int pthread_condattr_getpshared (const pthread_condattr_t *restrict attr, int *restrict pshared);

int pthread_condattr_setpshared (pthread_conda 11 r_t * аttr, int pshared) ;

Описание

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

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

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

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

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

Ошибки

Функции pthread_condattr_getpshared () и pthread_condattr_setpshared () м огут завершиться неудачно, если:

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

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

[EINVAL]  новое значение, заданное для атрибута, не попадает в диапазон значений, действительных для этого атрибута. Эти функции не возвращают код ошибки [EINTR].

Примеры

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

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

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

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

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

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

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

Смотри также

pthread_create (), pthread_cond_destroy (), pthread_condattr_destroy (), pthread_mutex_destroy (), то м Base Definidons стандарта IEEE Std 1003.1-2001, <pthread.h>.

Последовательность внесения изменений

Функции впервые реализованы в выпуске Issue 5. Включены для согласования с расширение м POSIX Threads Extension.

Issue 6

Функции pthread_condattr_getpshared () и pthread_condattr_setpshared () от м ечены как часть опций Threads и Thread Process-Shared Synchronization.

В целях согласования со стандартом ISO/IEC 9899: 1999 в прототип функции pthread_condattr_getpshared () было добавлено ключевое слово restrict.

Больше книг — больше знаний!

Заберите 30% скидку новым пользователям на все книги Литрес с нашим промокодом

ПОЛУЧИТЬ СКИДКУ