Параллельное и распределенное программирование на С++ (Хьюз, Хьюз) - страница 440

[EINVAL] значение, заданное пара м етро м mutex, не относится к инициализированному объекту мьютекса; XSI [EAGAIN] мьютекс остался недоступным, поскольку было превышено максимальное количество рекурсивных блокировок для мьютекса, заданного параметром mutex

[ EDEADLK] текущий поток уже владеет мьютексом.

Эта функция не возвращает код ошибки [EINTR].

Примеры

Отсутствуют.

Замечания по использованию

Функция pthread_mutex_timedlock() является частью опций Threads и Timeouts и м ожет быть не представлена во всех реализациях.

Логическое обоснование

Отсутствует.

Будущие направления

Отсутствуют.

Смотри также

pthread_mutex_destroy (), pthread_mutex_lock(), pthread_mutex_trylock(), time (), то м Base Definitions стандарта IEEE Std 1003.1-2001, , .

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

Функции впервые реализованы в выпуске Issue 6, основанием послужил стандарт IEEEStd 1003.1d-1999.

pthread_mutexattr_destroy

Имя

pthread_mutexattr_destroy

Синопсис

THR #include

int pthread_mutexattr_destroy (

pthread_mutexattr_t *attr); int pthread_mutexattr_init (pthread_mutexattr_t *attr);

Описание

Функция pthread_mutexattr_destroy () используется для разрушения объекта атрибутов м ьютекса, в результате чего этот объект становится неинициализированным. В конкретной реализации функция pthread_mutexattr_destroy() м ожет устанавливать объект, адресуе м ый пара м етро м attr, равны м недействительно м у значению. Разрушенный объект атрибутов м ожно снова инициализировать с по м о щ ью функции pthread_mutexattr_init (); результаты ссылки на этот объект после его разрушения не определены.

Результаты не определены, если функция pthread_mutexattr_init () вызывается, ссылаясь на уже инициализированный объект атрибутов attr.

После того как объект атрибутов мьютекса был использован для инициализации одного или нескольких мьютексов, Любая функция, которая оказывает влияние на объект атрибутов (включал деструктор), никак не отразится на ранее инициализированных мьютексах.

Возвращаемые значения

При успешно м завершении функции pthread_mutexattr_destroy() и pthread_mutexattr_init () возвра щ ают нулевое значение; в противно м случае — код ошибки, обозначаю щ ий ее характер.

Ошибки

Функция pthread_mutexattr_destroy () м ожет завершиться неудачно, если:

[EINVAL ]  значение, заданное параметром attr, недействительно.

Функция pthread_mutexattr_init () завершится неудачно, если:

[ENOMEM]  для инициализации объекта атрибутов м ьютекса недостаточно существующей памяти.