[ETIMEDOUT] мьютекс не удалось заблокировать до истечения заданного интервала времени.
Функция pthread_mutex_timedlock () может завершиться неудачно, если:
[EINVAL] значение, заданное пара
[ EDEADLK] текущий поток уже владеет мьютексом.
Эта функция не возвращает код ошибки [EINTR].
Примеры
Отсутствуют.
Замечания по использованию
Функция pthread_mutex_timedlock() является частью опций Threads и Timeouts и
Логическое обоснование
Отсутствует.
Будущие направления
Отсутствуют.
Смотри также
pthread_mutex_destroy (), pthread_mutex_lock(), pthread_mutex_trylock(), time (), то
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 6, основанием послужил стандарт IEEEStd 1003.1d-1999.
pthread_mutexattr_destroy
Имя
pthread_mutexattr_destroy
Синопсис
THR #include
int pthread_mutexattr_destroy (
pthread_mutexattr_t
Описание
Функция pthread_mutexattr_destroy () используется для разрушения объекта атрибутов
Результаты не определены, если функция pthread_mutexattr_init () вызывается, ссылаясь на уже инициализированный объект атрибутов attr.
После того как объект атрибутов мьютекса был использован для инициализации одного или нескольких мьютексов, Любая функция, которая оказывает влияние на объект атрибутов (включал деструктор), никак не отразится на ранее инициализированных мьютексах.
Возвращаемые значения
При успешно
Ошибки
Функция pthread_mutexattr_destroy ()
[EINVAL ] значение, заданное параметром attr, недействительно.
Функция pthread_mutexattr_init () завершится неудачно, если:
[ENOMEM] для инициализации объекта атрибутов
Эти функции не возвра
pthread_mutexattr_destroy, pthread_mutexattr_init — функции разрушения и инициализации объекта атрибутов
Примеры
Отсутствуют.
Замечания по использованию
Отсутствуют.
Логическое обоснование
Для получения общих разъяснений назначения атрибутов см. описание функции pthread_attr_init (). Объекты атрибутов позволяют реализациям экспериментировать с полезными расширениями и разрешают использовать расширение этого тома стандарта IEEE Std 1003.1-2001, не изменяя существующих функций. Таким образом, они обеспечивают возможности для будущего расширения этого тома стандарта IEEE Std 1003.1-2001 и уменьшают соблазн преждевременно стандартизировать семантику, которая еще широко не реализована или не до конца понята.
Рассматривалась возможность использования таких дополнительных атрибутов мьютексов, как spin__only, limited spin, no__spin, recursive и metered. (Считаем необходимым разъяснить назначение таких атрибутов, как recursive nmetered: рекурсивные мьютексы позволяют выполнение нескольких повторных блокировок со стороны текущего владельца; мьютексы с регистрирацией фиксируют длину очереди, время ожидания и т.д.) Поскольку еще нет достаточных данных о том, насколько полезны эти атрибуты, в данном томе стандарта IEEE Std 1003.1-2001 они не определены. Однако объекты атрибутов мьютексов позволяют проверить эти идеи на предмет возможной их стандартизации в будущем.
Атрибуты мьютекса и производительность
Необходимо позаботиться о том, чтобы действующие по умолчанию значения атрибутов мьютекса были определены таким образом, чтобы мьютексы, инициализированные этими значениями, имели достаточно простую семантику, согласно которой блокирование и разблокирование можно было бы выполнить с помощью инструкций, эквивалентных операциям тестирования и установки значений (и, возможно, еще некоторых других базовых инструкций).