pthread_mutexattr_setrecursive()

Установить значение атрибута рекурсии в атрибутной записи мьютекса

Прототип:

#include <pthread.h>
int pthread_mutexattr_setrecursive( pthread_mutexattr_t *attr,
int recursive );

Аргументы:

attr
Указатель на объект pthread_mutexattr_t, в котором требуется установить атрибут.
recursive
Новое значение для рекурсивного атрибута; одно из следующих:
PTHREAD_RECURSIVE_ENABLE
поток, который уже заблокировал мьютекс, может снова заблокировать его без блокировки.
PTHREAD_RECURSIVE_DISABLE
любой поток, который пытается заблокировать блоки мьютекса, если этот мьютекс уже заблокирован.
Значением по умолчанию для рекурсивного атрибута является PTHREAD_RECURSIVE_DISABLE.

Библиотека:

libc

Описание:

Функция pthread_mutexattr_setrecursive() устанавливает рекурсивный атрибут в объекте атрибутов мьютекса attr на значение, заданное в recursive.


Note: Функция pthread_mutexattr_settype() предоставляет более переносимый способ сделать мьютекс рекурсивным.

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

EOK
Успешное завершение.
EINVAL
Некорректный объект attr или значение, указанное в recursive, не является PTHREAD_RECURSIVE_ENABLE или PTHREAD_RECURSIVE_DISABLE.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

pthread_mutexattr_getrecursive(), pthread_mutexattr_init(), pthread_mutexattr_settype()




Предыдущий раздел: Описание API системной библиотеки