Namespaces
Variants

mtx_lock

From cppreference.net
Определено в заголовочном файле <threads.h>
int mtx_lock ( mtx_t * mutex ) ;
(начиная с C11)

Блокирует текущий поток до тех пор, пока мьютекс, на который указывает mutex , не будет заблокирован.

Поведение не определено, если текущий поток уже заблокировал мьютекс, и мьютекс не является рекурсивным.

Предыдущие вызовы mtx_unlock на том же мьютексе синхронизируются-с этой операцией, и все операции lock/unlock на любом заданном мьютексе образуют единый полный порядок (аналогично порядку модификации атомарной переменной)

Содержание

Параметры

mutex - указатель на мьютекс для блокировки

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

thrd_success если успешно, thrd_error в противном случае.

Ссылки

  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.26.4.3 Функция mtx_lock (стр: 278)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.26.4.3 Функция mtx_lock (стр: 381)

Смотрите также

блокирует до захвата мьютекса или истечения времени ожидания
(функция)
захватывает мьютекс или возвращает управление без блокировки, если уже захвачен
(функция)
освобождает мьютекс
(функция)
C++ документация для timed_mutex::lock
C++ документация для recursive_mutex::lock
C++ документация для recursive_timed_mutex::lock