NiboRoboLib 3.6 - MThread Library
mutex.h
gehe zur Dokumentation dieser Datei
1 #ifndef MUTEX_H
2 #define MUTEX_H
3 
4 #include "thread.h"
5 
14 typedef struct _mutex_s {
15  cdll_t waiting_threads;
16  thread_t * locker;
17  uint16_t counter;
18 } mutex_t;
19 
20 
24 void mutext_init(mutex_t * mutex);
25 
26 
30 void mutext_delete(mutex_t * mutex);
31 
32 
41 uint8_t mutext_lock(mutex_t * mutex, uint16_t timeout);
42 
43 
48 void mutext_unlock(mutex_t * mutex);
49 
50 
58 uint8_t mutext_lockISR(mutex_t * mutex);
59 
60 
65 void mutext_unlockISR(mutex_t * mutex);
66 
67 
68 
69 #endif
Definition: thread.h:53
Die zentrale Datei zum Multi-threading.
uint8_t mutext_lockISR(mutex_t *mutex)
Nach dem Erfolgreichen Aufruf dieser Funktion gehört der Mutext dem Interrupt.
Definition: cdll.h:32
Definition: mutex.h:14
void mutext_init(mutex_t *mutex)
Mutex initialisieren.
void mutext_unlockISR(mutex_t *mutex)
Freigabe des Mutex.
uint8_t mutext_lock(mutex_t *mutex, uint16_t timeout)
Nach dem Erfolgreichen Aufruf dieser Funktion gehört der Mutext dem aufrufenden Thread.
void mutext_unlock(mutex_t *mutex)
Freigabe des Mutex.