NiboRoboLib 3.6 - MThread Library
condition.h-Dateireferenz

Eine Condition dient zum geregelten (Deadlock-freien) Warten auf ein Ereignis. Mehr ...

#include "thread.h"
#include "mutex.h"

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  condition_t
 

Funktionen

void condition_init (condition_t *condition)
 Condition initialisieren.
 
void condition_delete (condition_t *condition)
 
uint8_t condition_wait (condition_t *condition, mutex_t *mutex, uint16_t timeout)
 Der Funktionsaufruf gibt den Mutex frei und wartet auf die Signalisierung. Mehr ...
 
void condition_signal (condition_t *condition)
 Einen wartenden Thread informieren.
 
void condition_broadcast (condition_t *condition)
 Alle wartenden Threads informieren.
 
void condition_signalISR (condition_t *condition)
 Einen wartenden Thread informieren.
 
void condition_broadcastISR (condition_t *condition)
 Alle wartenden Threads informieren.
 

Ausführliche Beschreibung

Eine Condition dient zum geregelten (Deadlock-freien) Warten auf ein Ereignis.

Mit einer Condition ist es möglich, mehrere Thrads gleichzeitig über ein Ereignis zu informieren. Das Signalisieren einer Condition wecke einen Thread auf, das Broadcasten einer Condition weckt (nacheinander) alle wartenden Threads auf!

Dokumentation der Funktionen

uint8_t condition_wait ( condition_t condition,
mutex_t mutex,
uint16_t  timeout 
)

Der Funktionsaufruf gibt den Mutex frei und wartet auf die Signalisierung.

Bevor die Funktion zurückkehrt wird der Mutex wieder gelockt!