pthread_mutexattr_getpshared, pthread_mutexattr_setpshared

Имя

pthread_mutexattr_getpshared, pthread_mutexattr_setpshared — функ-ции считывания и установки атрибута process-shared.

Синопсис

THR #include <pthread.h> TSH

int pthread_mutexattr_getpshared (

const pthread_mutexattr_t *restrict attr, int *restrict pshared); int pthread_mutexattr_setpshared(

pthread_mutexattr_t *attr, int pshared);

Описание

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

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

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

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

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

Ошибки

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

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

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

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

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

Примеры

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

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

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

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

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

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

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

Смотри также

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

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

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

Issue 6

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

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

pthread_mutexattr_gettype, pthread_mutexattr_settype

Имя

pthread_mutexattr_gettype, pthread_mutexattr_settype — функции считывания и установки атрибута type.

Синопсис

XSI #include <pthread.h>

int pthread_mutexattr_gettype (

const pthread_mutexattr_t *restrict attr, int *restrict type); int pthread_mutexattr_settype (

pthread_mutexattr_t *attr, int type);

Описание

Функции pthread_mutexattr_gettype() и pthread_mutexattr_settype() используются для считывания и установки соответственно атрибута type. Этот атрибут задается при вызове этих функций в пара м етре type. По у м олчанию атрибут type устанавливается равны м значению PTHREAD_MUTEX_DEFAULT.

Атрибут type содержит тип м ьютекса. Допусти м ы м и значения м и атрибута type м огут быть следую щ ие:

PTHREAD_MUTEX_NORMAL

Мьютекс этого типа не обнаруживает взаи м облокировки. Поток, пытаясь перезаблокировать такой м ьютекс без первоначального его разблокирования, попадает во взаи м облокировку. Попытка разблокировать м ьютекс, заблокированный други м потоко м, приводит к неопределенно м у поведению. Попытка разблокировать

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату