Namensräume
Varianten
Aktionen

cnd_wait

Von cppreference.com
< c‎ | thread
Definiert im Header <threads.h>
int cnd_wait( cnd_t* cond, mtx_t* mutex );
(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 ein "spurious wake-up" (unerwartetes Aufwachen) auftritt. Der Mutex wird vor der Rückkehr der Funktion erneut gesperrt.

Das Verhalten ist undefiniert, wenn der Mutex nicht bereits vom aufrufenden Thread gesperrt ist.

Inhalt

[bearbeiten] Parameter

cond - Zeiger auf die Bedingungsvariable, auf der blockiert werden soll
mutex - Zeiger auf den Mutex, der für die Dauer der Blockierung entsperrt werden soll

[bearbeiten] Rückgabewert

thrd_success bei Erfolg, thrd_error andernfalls.

[bearbeiten] Referenzen

  • C17-Standard (ISO/IEC 9899:2018)
  • 7.26.3.6 Die Funktion cnd_wait (S. 277)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.26.3.6 Die Funktion cnd_wait (S. 380)

[bearbeiten] Siehe auch

blockiert auf einer Bedingungsvariable mit Timeout
(Funktion) [bearbeiten]
C++ Dokumentation für condition_variable::wait
C++ Dokumentation für condition_variable_any::wait