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% скидку новым пользователям на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУ