Namensräume
Varianten
Aktionen

mtx_lock

Von cppreference.com
< c‎ | thread
Definiert im Header <threads.h>
int mtx_lock( mtx_t* mutex );
(seit C11)

Blockiert den aktuellen Thread, bis die durch mutex dargestellte Mutex gesperrt ist.

Das Verhalten ist undefiniert, wenn der aktuelle Thread die Mutex bereits gesperrt hat und die Mutex nicht rekursiv ist.

Frühere Aufrufe von mtx_unlock für dieselbe Mutex synchronisieren mit dieser Operation, und alle Sperr-/Entsperroperationen auf einer gegebenen Mutex bilden eine einzige totale Reihenfolge (ähnlich der Modifikationsreihenfolge eines Atomars).

Inhalt

[bearbeiten] Parameter

mutex - Zeiger auf die zu sperrende Mutex

[bearbeiten] Rückgabewert

thrd_success bei Erfolg, thrd_error andernfalls.

[bearbeiten] Referenzen

  • C17-Standard (ISO/IEC 9899:2018)
  • 7.26.4.3 Die Funktion mtx_lock (S. 278)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.26.4.3 Die Funktion mtx_lock (S. 381)

[bearbeiten] Siehe auch

blockiert, bis ein Mutex gesperrt ist, oder läuft ab
(Funktion) [bearbeiten]
sperrt einen Mutex oder kehrt zurück, ohne zu blockieren, wenn er bereits gesperrt ist
(Funktion) [bearbeiten]
entsperrt einen Mutex
(Funktion) [bearbeiten]
C++ Dokumentation für mutex::lock
C++ Dokumentation für timed_mutex::lock
C++ Dokumentation für recursive_mutex::lock
C++ Dokumentation für recursive_timed_mutex::lock