mtx_trylock
Von cppreference.com
| 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
| (C11) |
blockiert, bis ein Mutex gesperrt ist (Funktion) |
| (C11) |
blockiert, bis ein Mutex gesperrt ist, oder läuft ab (Funktion) |
| (C11) |
entsperrt einen Mutex (Funktion) |
| 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
| |