незаблокированный
PTHREAD_MUTEX_ERRORCHECK
Мьютекс этого типа выполняет проверку на наличие ошибок. Поток, пытаясь перезаблокировать такой мьютекс без первоначального его разблокирования, генерирует код ошибки. При попытке разблокировать мьютекс, заблокированный другим потоком, генерируется код ошибки. При попытке разблокировать незаблокированный мьютекс также генерируется код ошибки.
PTHREAD_MUTEX_RECURS IVE
PTHREAD_MUTEX_DEFAULT
Попытка рекурсивного блокирования мьютекса этого типа приводит к неопределенному поведению. Попытка разблокировать мьютекс, не заблокированный вызывающим потоком, приводит к неопределенному поведению. Попытка разблокировать незаблокированный мьютекс также приводит к неопределенному поведению. Реализация может преобразовать мьютекс этого типа в один из других типов мьютексов.
Возвращаемые значения
При успешном завершении функция pthread_mutexattr_gettype () возвращает нулевое значение и сохраняет значение атрибута type, считанное из объекта attr, в объекте, адресуемом параметром type; в противном случае она возвращает код ошибки, обозначающий ее характер.
При успешном завершении функция pthread_mutexattr_settype () возвращает нулевое значение; в противном случае — код ошибки, обозначающий ее характер.
Ошибки
Функция pthread_mutexattr_settype () завершится неудачно, если:
[EINVAL] значение, заданное пара
Функции pthread_mutexattr_gettype () и pthread_mutexattr_settype () могутзавершиться неудачно, если:
[EINVAL] значение, заданное пара
Эти функции не возвра
Примеры
Отсутствуют.
Замечания по использованию
В приложениях пре
Логическое обоснование
Отсутствует.
Будущие направления
Отсутствуют.
Смотри также
pthread_cond_timedwait(), том Base Definitions стандарта IEEE Std 1003.1-200l, <pthread.h>.
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5. Issue 6
Приложен список опечаток Open Group Corrigendum U033/3. Был отредактирован раздел «Синопсис» для функции pthread_mutexattr_gettype (), в результате чего первый аргумент получил тип const pthread_mutexattr_t*.
В целях согласования со стандартом ISO/IEC 9899: 1999 в прототип функции pthread_mutexattr_gettype было добавлено ключевое слово restrict.
pthread_once
Имя
pthread_once — функция
Синопсис
THR #include <pthread.h>
int pthread_once (pthread_once_t
Описание
При перво
Функция pthread_once () не является точкой от
Константа PTHREAD_ONCE_INIT определяется в заголовке <pthread. h>.
Поведение функции pthread_once () будет неопределенны
Возвращаемое значение
При успешно