cnd_timedwait
Von cppreference.com
| Definiert im Header <threads.h> |
||
| (seit C11) | ||
Entsperrt atomar die durch mutex zeigende Mutex und blockiert an der durch cond zeigenden Bedingungsvariable, bis der Thread durch cnd_signal oder cnd_broadcast signalisiert wird, oder bis der durch time_point zeigende, auf TIME_UTC basierende Zeitpunkt erreicht wurde, oder bis ein unerwartetes Aufwachen stattfindet. Die Mutex wird vor der Rückgabe der Funktion wieder gesperrt.
Das Verhalten ist undefiniert, wenn die Mutex nicht bereits durch den aufrufenden Thread gesperrt ist.
Inhalt |
[bearbeiten] Parameter
| cond | - | Zeiger auf die Bedingungsvariable, auf der blockiert werden soll |
| mutex | - | Zeiger auf die Mutex, die während des Blocks entsperrt werden soll |
| time_point | - | Zeiger auf ein Objekt, das den Zeitpunkt für den Timeout angibt |
[bearbeiten] Rückgabewert
thrd_success bei Erfolg, thrd_timedout, wenn der Timeout-Zeitpunkt erreicht wurde, bevor die Mutex gesperrt wurde, oder thrd_error, wenn ein Fehler aufgetreten ist.
[bearbeiten] Referenzen
- C17-Standard (ISO/IEC 9899:2018)
- 7.26.3.5 Die Funktion cnd_timedwait (S. 276-277)
- C11-Standard (ISO/IEC 9899:2011)
- 7.26.3.5 Die Funktion cnd_timedwait (S. 379-380)
[bearbeiten] Siehe auch
| (C11) |
blockiert auf einer Bedingungsvariable (Funktion) |
| C++ Dokumentation für condition_variable::wait_until
| |
| C++ Dokumentation für condition_variable_any::wait_until
| |