При успешно м
завершении функции pthread_mutexattr_getprotocol() и pthread_mutexattr_setprotocol () возвра щ ают нулевое значение; в противно м случае — код ошибки, обозначаю щ ий ее характер. Ошибки
Функция pthread_mutexattr_setprotocol () завершится неудачно, если:
[ ENOTSUP
] значение, заданное пара м етро м pro tocol , не по д держивается. Функции pthread_mutexattr_getprotocol() и pthread_mutexattr_setprotocol () м
огут завершиться неу д ачно, если: [EINVAL]
значение, заданное пара м етро м attr, или пара м етро м protocol, недействительно; [EPERM]
инициатор вызова не обладает привиле г ия м и для выполнения этой операции. Эти функции не возвра щ
ают код ошибки [EINTR]. Примеры
Отсутствуют.
Замечания по использованию
Отсутствуют.
Логическое обоснование
Отсутствует.
Будущие направления
Отсутствуют.
Смотри также
pthread_cond_destroy (), pthread_create (), pthread_mutex_destroy (), то м
Base Defmidons стандартаШЕЕ Std 1003.1-2001, . Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5. Включены для согласования с расширением POSIX Threads Extension.
Отмечены как часть группы Realtime Threads Feature Group.
Issue 6
Функции pthread_mutexattr_getprotocol() и pthread_mutexattr_setprotocol () от м
ечены как часть опции Threads и одной из опций Thread Priority Protection или Thread Priority Inheritance. Код ошибки [ENOSYS]
был исключен, поскольку его нет с м ысла учитывать, если реализация не по д держивает опции Thread Priority Protection или Thread Priority Inheritance. В целях согласования со стан д
арто м ISO/IEC 9899:1999 в прототип функции pthread_mutexattr_getprotocol () было д обавлено ключевое слово restrict. pthread_mutexattr_getpshared, pthread_mutexattr_setpshared
Имя
pthread_mutexattr_getpshared, pthread_mutexattr_setpshared — функ-ции считывания и установки атрибута process-shared.
Синопсис
THR #include 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, . Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5. Включены для согласования с расширение м
POSIX Threads Extension. Issue
6