cnd_timedwait
|
Definiert im Header
<threads.h>
|
||
| (seit C11) | ||
Entsperrt atomar den Mutex, auf den
mutex
zeigt, und blockiert auf der Bedingungsvariable, auf die
cond
zeigt, bis der Thread durch
cnd_signal
oder
cnd_broadcast
signalisiert wird, oder bis der
TIME_UTC
-basierte Zeitpunkt, auf den
time_point
zeigt, erreicht wurde, oder bis ein spontanes Aufwachen auftritt. Der Mutex wird vor der Rückkehr der Funktion wieder gesperrt.
Das Verhalten ist undefiniert, falls der Mutex nicht bereits vom aufrufenden Thread gesperrt wurde.
Inhaltsverzeichnis |
Parameter
| cond | - | Zeiger auf die Bedingungsvariable, auf die gewartet werden soll |
| mutex | - | Zeiger auf den Mutex, der für die Dauer der Blockierung entsperrt werden soll |
| time_point | - | Zeiger auf ein Objekt, das den Timeout-Zeitpunkt angibt, bis zu dem gewartet werden soll |
Rückgabewert
thrd_success bei Erfolg, thrd_timedout wenn die Timeout-Zeit erreicht wurde, bevor der Mutex gesperrt wurde, oder thrd_error falls ein Fehler aufgetreten ist.
Referenzen
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.26.3.5 Die cnd_timedwait-Funktion (S: 276-277)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.26.3.5 Die cnd_timedwait-Funktion (S: 379-380)
Siehe auch
|
(C11)
|
blockiert auf einer Condition Variable
(Funktion) |
|
C++-Dokumentation
für
condition_variable::wait_until
|
|
|
C++-Dokumentation
für
condition_variable_any::wait_until
|
|