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(),

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

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

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

Issue 6

Функции pthread_condattr_destroy() и pthread_condattr_init() от м ечены как часть опции Threads.