pthread_mutex_consistent(3)
| PTHREAD_MUTEX_CONSISTENT(3) | Руководство программиста Linux | PTHREAD_MUTEX_CONSISTENT(3) |
ИМЯ
pthread_mutex_consistent - делает устойчивый мьютекс согласованным
ОБЗОР
#include <pthread.h>
int pthread_mutex_consistent(pthread_mutex_t *mutex);
Компилируется и компонуется вместе с -pthread.
Требования
макроса
тестирования
свойств
для glibc (см.
feature_test_macros(7)):
pthread_mutex_consistent():
ОПИСАНИЕ
Данная функция делает устойчивый мьютекс согласованным, если он находится в рассогласованном состоянии. Мьютекс может остаться в рассогласованном состоянии, если владелец завершил работу, удерживая мьютекс; в этом случае следующий владелец, захвативший мьютекс вызовом pthread_mutex_lock(), получит уведомление возвращаемым значением EOWNERDEAD .
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении pthread_mutex_consistent() возвращает 0. В противном случае возвращается положительный номер, указывающий на причину ошибки.
ОШИБКИ
- EINVAL
- Мьютекс находит не в согласованном состоянии и не в рассогласованном состоянии.
ВЕРСИИ
Функция pthread_mutex_consistent() впервые появилась в glibc 2.12.
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2008.
ЗАМЕЧАНИЯ
Функция pthread_mutex_consistent() просто информирует реализацию, что состояние (общие данные) защищаемые мьютексом, были восстановлены в согласованное состояние и что теперь с мьютексом можно выполнять обычные операции. Перед вызовом pthread_mutex_consistent() приложение само должно приводить данные в согласованное состояние.
До появления pthread_mutex_consistent() в POSIX, в glibc определялся следующий эквивалент нестандартной функции, если определён _GNU_SOURCE:
int pthread_mutex_consistent(const pthread_mutex_t *mutex);
Данный имеющийся только в GNU программный интерфейс, впервые появившийся в glibc 2.4, в настоящее время устарел и не должен использоваться в новых программах.
ПРИМЕР
Смотрите pthread_mutexattr_setrobust(3).
СМОТРИТЕ ТАКЖЕ
pthread_mutexattr_init(3), pthread_mutex_lock(3), pthread_mutexattr_getrobust(3), pthread_mutexattr_setrobust(3), pthreads(7)
| 2017-08-20 | Linux |
