next up previous contents
Next: Видимость переменной состояния Up: Переменные состояния Previous: Переменные состояния   Contents

Работа с атрибутами переменных состояния

Функция pthread_condattr_init() инициализирует атрибуты, связанные с объектом значениями по умолчанию. Память для каждого объекта атрибутов cattr выделяется системой потоков в процессе выполнения; cattr является закрытым типом данных, который содержит созданный системой объект атрибутов. Возможные значения признаков видимости cattr - PTHREAD_PROCESS_PRIVATE и
PTHREAD_PROCESS_SHARED. Значение по умолчанию атрибута pshared, равное PTHREAD_PROCESS_PRIVATE, указывает, что инициализированная переменная состояния может использоваться в пределах процесса.

Прежде чем атрибут переменной состояния сможет использоваться повторно, он должен повторно инициализироваться функцией pthread_condattr_destroy(). Вызов pthread_condattr_init() возвращает указатель на закрытый объект. Если объект не будет удален, возникнет утечка памяти; pthread_condattr_init() возвращает 0 - после успешного завершения. Любое другое значение указывает, что произошла ошибка. Пример вызова функции:

#include <pthread.h>

pthread_condattr_t cattr; 

int ret; 

ret = pthread_condattr_init(&cattr);

Функция pthread_condattr_destroy() удаляет память и помечает недействительным объект атрибутов:

int pthread_condattr_destroy (pthread_condattr_t *cattr);
pthread_condattr_destroy() возвращает 0 - после успешного завершения. Любое другое значение указывает, что произошла ошибка.



2004-06-22