Scroll to navigation

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():

_POSIX_C_SOURCE >= 200809L

ОПИСАНИЕ

Данная функция делает устойчивый мьютекс согласованным, если он находится в рассогласованном состоянии. Мьютекс может остаться в рассогласованном состоянии, если владелец завершил работу, удерживая мьютекс; в этом случае следующий владелец, захвативший мьютекс вызовом pthread_mutex_lock(), получит уведомление возвращаемым значением EOWNERDEAD .

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении pthread_mutex_consistent() возвращает 0. В противном случае возвращается положительный номер, указывающий на причину ошибки.

ОШИБКИ

Мьютекс находит не в согласованном состоянии и не в рассогласованном состоянии.

ВЕРСИИ

Функция 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