Шрифт:
Будущие направления
Отсутствуют.
Смотри также
pthread_cond_signal , pthread_cond_broadcast , том Base Definitions стандарта IEEE Std 1003.1-2001, <pthread.h>.
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5. Включены для согласования с расширением POSIX Threads Extension.
Issue 6
Функции pthread_cond_timedwait и pthread_cond_wait от м ечены как часть опции Threads.
К описанию прототипа функции pthread_cond_wait был приложен список опечаток Open Group Corrigendum U021/9.
Для согласования со стандартом IEEE Std 1003.1j-2000 раздел «Описание» был отредактирован путем добавления семантики для опции Clock Selection.
В раздел «Ошибки» внесен еще один код ошибки [EPERM] в ответ на включение интерпретации IEEE PASC Interpretation 1003.1с #28.
В целях согласования со стандартом ISO/IEC 9899: 1999 в прототипы функций pthread_cond_timedwait и pthread_cond_wait было добавлено ключевое слово restrict.
pthread_condattr_destroy, pthread_condattr_init
Имя
pthread_condattr_destroy, pthread_condattr_init — функции разрушения и инициализации объекта атрибутов условной пере м енной.
Синопсис
THR
#include <pthread.h>
int pthread_condattr_destroy (pthread_condattr_t *attr);
int pthread_condattr_init (pthread_condattr_t *attr);
Описание
Функция pthread_condattr_destroy используется для разрушения объекта атрибутов условной переменной, в результате чего он становится неинициализированным. В конкретной реализации функция pthread_condattr_destroy может устанавливать объект, адресуемый параметром attr , равным недействительному значению. Разрушенный объект атрибутов attr можно снова инициализировать с помощью функции pthread_condattr_init ; результаты ссылки на этот объект после его разрушения не определены.
Функция pthread_condattr_init предназначена для инициализации объекта атрибутов условной пере м енной attr значением, действующим по у м олчанию для всех атрибутов, определенных конкретной реализацией.
Если функция pthread_condattr_init вызывается для уже инициализированного объекта атрибутов attr , то результаты вызова этой функции не определены.
После того как объект атрибутов условной пере м енной уже был использован для инициализации одной или нескольких условных пере м енных, Любая функция, которая оказывает влияние на объект атрибутов (включая деструктор), никак не отразится на ранее инициализированных условных пере м енных.
Этот то м стан д арта IEEE Std 1003.1-2001 требует наличия д вух атрибутов: clock и process-shared.
Дополнительные атрибуты, их значения по умолчанию и имена соответствующих функций доступа, которые считывают и устанавливают эти значения атрибутов, определяются конкретной реализацией.
Возвращаемые значения
При успешно м завершении функции pthread_condattr_destroy Hpthread_condattr_init возвращают нулевое значение; в противном случае — код ошибки, обозначающий ее характер.
Ошибки
Функция pthread_condattr_destroy может завершиться неудачно, если:
[EINVAL] значение, заданное параметром аttr, недействительно.
Функция pthread_condattr_init завершится неудачно, если:
[ENOMEM] для инициализации объекта атрибутов условной переменной недостаточно существующей памяти. Эти функции не возвращают код ошибки [EINTR].
Примеры
Отсутствуют.
Замечания по использованию
Отсутствуют.
Логическое обоснование
С м. описание функций pthread_attr_init и pthread_mutex_init . Атрибут process-shared был определен для условных переменных по той же причине, что и для м ьютексов.
Будущие направления
Отсутствуют.
Смотри также
pthread_attr_destroy , pthread_cond_destroy , pthread_condattr_getpshared, pthread_create,