NiboRoboLib 3.6 - MThread Library
condition.h
gehe zur Dokumentation dieser Datei
1 #ifndef CONDITION_H
2 #define CONDITION_H
3 
4 #include "thread.h"
5 #include "mutex.h"
6 
17 typedef struct _condition_s {
18  cdll_t waiting_threads;
19 } condition_t;
20 
21 
22 
26 void condition_init(condition_t * condition);
27 
28 
32 void condition_delete(condition_t * condition);
33 
34 
38 uint8_t condition_wait(condition_t * condition, mutex_t * mutex, uint16_t timeout);
39 
40 
44 void condition_signal(condition_t * condition);
45 
46 
50 void condition_broadcast(condition_t * condition);
51 
52 
56 void condition_signalISR(condition_t * condition);
57 
58 
62 void condition_broadcastISR(condition_t * condition);
63 
64 
65 
66 #endif
Definition: condition.h:17
void condition_init(condition_t *condition)
Condition initialisieren.
Die zentrale Datei zum Multi-threading.
void condition_signalISR(condition_t *condition)
Einen wartenden Thread informieren.
void condition_broadcastISR(condition_t *condition)
Alle wartenden Threads informieren.
Mit einem Mutex kann eine einzelne Resource vor gleichzeitigem Zugriff geschützt werden.
uint8_t condition_wait(condition_t *condition, mutex_t *mutex, uint16_t timeout)
Der Funktionsaufruf gibt den Mutex frei und wartet auf die Signalisierung.
Definition: cdll.h:32
Definition: mutex.h:14
void condition_broadcast(condition_t *condition)
Alle wartenden Threads informieren.
void condition_signal(condition_t *condition)
Einen wartenden Thread informieren.