table of contents
pthread_mutex_consistent(3) | Library Functions Manual | pthread_mutex_consistent(3) |
ИМЯ¶
pthread_mutex_consistent - делает устойчивый мьютекс согласованным
БИБЛИОТЕКА¶
POSIX threads library (libpthread, -lpthread)
СИНОПСИС¶
#include <pthread.h>
int pthread_mutex_consistent(pthread_mutex_t *mutex);
pthread_mutex_consistent():
_POSIX_C_SOURCE >= 200809L
ОПИСАНИЕ¶
Данная функция делает устойчивый мьютекс согласованным, если он находится в рассогласованном состоянии. Мьютекс может остаться в рассогласованном состоянии, если владелец завершил работу, удерживая мьютекс; в этом случае следующий владелец, захвативший мьютекс вызовом pthread_mutex_lock(), получит уведомление возвращаемым значением EOWNERDEAD .
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
On success, pthread_mutex_consistent() returns 0. Otherwise, it returns a positive error number to indicate the error.
ОШИБКИ¶
- EINVAL
- Мьютекс находит не в согласованном состоянии и не в рассогласованном состоянии.
СТАНДАРТЫ¶
POSIX.1-2008.
ИСТОРИЯ¶
glibc 2.12. POSIX.1-2008.
До появления pthread_mutex_consistent() в POSIX, в glibc определялся следующий эквивалент нестандартной функции, если определён _GNU_SOURCE:
[[deprecated]] int pthread_mutex_consistent_np(const pthread_mutex_t *mutex);
This GNU-specific API, which first appeared in glibc 2.4, is nowadays obsolete and should not be used in new programs; since glibc 2.34 it has been marked as deprecated.
ПРИМЕЧАНИЯ¶
Функция pthread_mutex_consistent() просто информирует реализацию, что состояние (общие данные) защищаемые мьютексом, были восстановлены в согласованное состояние и что теперь с мьютексом можно выполнять обычные операции. Перед вызовом pthread_mutex_consistent() приложение само должно приводить данные в согласованное состояние.
ПРИМЕРЫ¶
Смотрите pthread_mutexattr_setrobust(3).
СМОТРИТЕ ТАКЖЕ¶
pthread_mutex_lock(3), pthread_mutexattr_getrobust(3), pthread_mutexattr_init(3), pthread_mutexattr_setrobust(3), pthreads(7)
ПЕРЕВОД¶
Русский перевод этой страницы руководства разработал(и) Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Darima Kogan <silverdk99@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
2 мая 2024 г. | Справочные страницы Linux 6.9.1 |