mtx_trylock
|
Definiert in Header
<threads.h>
|
||
|
int
mtx_trylock
(
mtx_t
*
mutex
)
;
|
(seit C11) | |
Versucht, den von
mutex
gezeigten Mutex ohne Blockierung zu sperren. Gibt sofort zurück, wenn der Mutex bereits gesperrt ist.
Vorherige Aufrufe von mtx_unlock auf demselben Mutex synchronisieren mit dieser Operation (falls diese Operation erfolgreich ist), und alle Sperr-/Entsperrvorgänge auf einem bestimmten Mutex bilden eine einzige totale Ordnung (ähnlich der Modifikationsreihenfolge eines atomaren Datentyps)
Inhaltsverzeichnis |
Parameter
| mutex | - | Zeiger auf den zu sperrenden Mutex |
Rückgabewert
thrd_success bei Erfolg, thrd_busy falls der Mutex bereits gesperrt ist oder aufgrund eines sporadischen Fehlschlagens beim Erwerb eines verfügbaren Mutex, thrd_error falls ein Fehler auftritt.
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte 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 sporadisch fehlschlagen
|
erlaubt |
Referenzen
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.26.4.5 Die mtx_trylock-Funktion (S: 278-279)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.26.4.5 Die mtx_trylock-Funktion (S: 382)
Siehe auch
|
(C11)
|
blockiert bis ein Mutex gesperrt wird
(Funktion) |
|
(C11)
|
blockiert bis ein Mutex gesperrt wird oder Timeout auftritt
(Funktion) |
|
(C11)
|
gibt einen Mutex frei
(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
|
|