Namensräume
Varianten
Aktionen

mtx_trylock

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

Versucht, die durch mutex dargestellte Mutex-Sperre ohne Blockieren zu erhalten. Wird sofort zurückgegeben, wenn die Mutex-Sperre bereits gesetzt ist.

Frühere Aufrufe von mtx_unlock für denselben Mutex *synchronisieren* mit dieser Operation (falls diese Operation erfolgreich ist), und alle Sperr-/Entsperroperationen auf einem gegebenen Mutex bilden eine einzige totale Ordnung (ähnlich der Modifikationsreihenfolge eines Atomwerts).

Inhalt

[bearbeiten] Parameter

mutex - Zeiger auf die zu sperrende Mutex

[bearbeiten] Rückgabewert

thrd_success bei Erfolg, thrd_busy, wenn die Mutex-Sperre bereits gesetzt ist oder aufgrund eines fehlerhaften Erwerbs einer verfügbaren Mutex-Sperre, thrd_error, wenn ein Fehler auftritt.

[bearbeiten] Fehlerberichte

Die folgenden verhaltensändernden Defect Reports wurden rückwirkend auf zuvor veröffentlichte C-Standards angewendet.

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
DR 470 C11 mtx_trylock durfte nicht fehlerhaft fehlschlagen erlaubt

[bearbeiten] Referenzen

  • C17-Standard (ISO/IEC 9899:2018)
  • 7.26.4.5 Die Funktion mtx_trylock (S. 278-279)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.26.4.5 Die Funktion mtx_trylock (S. 382)

[bearbeiten] Siehe auch

blockiert, bis ein Mutex gesperrt ist
(Funktion) [bearbeiten]
blockiert, bis ein Mutex gesperrt ist, oder läuft ab
(Funktion) [bearbeiten]
entsperrt einen Mutex
(Funktion) [bearbeiten]
C++ Dokumentation für mutex::try_lock
C++ Dokumentation für timed_mutex::try_lock
C++ Dokumentation für recursive_mutex::try_lock
C++ Dokumentation für recursive_timed_mutex::try_lock