- bullseye-backports 4.18.1-1~bpo11+1
PTHREAD_MUTEX_CONSISTENT(3) | Руководство программиста Linux | PTHREAD_MUTEX_CONSISTENT(3) |
ИМЯ¶
pthread_mutex_consistent - делает устойчивый мьютекс согласованным
СИНТАКСИС¶
#include <pthread.h>
int pthread_mutex_consistent(pthread_mutex_t *mutex);
Компилируется и компонуется вместе с -pthread.
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_mutex_lock(3), pthread_mutexattr_init(3), pthread_mutexattr_getrobust(3), pthread_mutexattr_setrobust(3), pthreads(7)
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Kogan, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
9 июня 2020 г. | Linux |