diff options
-rw-r--r-- | firmware/kernel.c | 5 | ||||
-rw-r--r-- | firmware/kernel.h | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/firmware/kernel.c b/firmware/kernel.c index c6ac1fb7aa..639b73def5 100644 --- a/firmware/kernel.c +++ b/firmware/kernel.c | |||
@@ -94,6 +94,11 @@ void queue_post(struct event_queue *q, int id, void *data) | |||
94 | set_irq_level(oldlevel); | 94 | set_irq_level(oldlevel); |
95 | } | 95 | } |
96 | 96 | ||
97 | bool queue_empty(struct event_queue* q) | ||
98 | { | ||
99 | return ( q->read == q->write ); | ||
100 | } | ||
101 | |||
97 | 102 | ||
98 | /**************************************************************************** | 103 | /**************************************************************************** |
99 | * Timer tick | 104 | * Timer tick |
diff --git a/firmware/kernel.h b/firmware/kernel.h index cd5539b791..8f981b3753 100644 --- a/firmware/kernel.h +++ b/firmware/kernel.h | |||
@@ -19,6 +19,8 @@ | |||
19 | #ifndef _KERNEL_H_ | 19 | #ifndef _KERNEL_H_ |
20 | #define _KERNEL_H_ | 20 | #define _KERNEL_H_ |
21 | 21 | ||
22 | #include <stdbool.h> | ||
23 | |||
22 | /* wrap-safe macros for tick comparison */ | 24 | /* wrap-safe macros for tick comparison */ |
23 | #define TIME_AFTER(a,b) ((long)(b) - (long)(a) < 0) | 25 | #define TIME_AFTER(a,b) ((long)(b) - (long)(a) < 0) |
24 | #define TIME_BEFORE(a,b) TIME_AFTER(b,a) | 26 | #define TIME_BEFORE(a,b) TIME_AFTER(b,a) |
@@ -60,6 +62,7 @@ int tick_remove_task(void (*f)(void)); | |||
60 | extern void queue_init(struct event_queue *q); | 62 | extern void queue_init(struct event_queue *q); |
61 | extern void queue_wait(struct event_queue *q, struct event *ev); | 63 | extern void queue_wait(struct event_queue *q, struct event *ev); |
62 | extern void queue_post(struct event_queue *q, int id, void *data); | 64 | extern void queue_post(struct event_queue *q, int id, void *data); |
65 | extern bool queue_empty(struct event_queue* q); | ||
63 | 66 | ||
64 | extern void mutex_init(struct mutex *m); | 67 | extern void mutex_init(struct mutex *m); |
65 | extern void mutex_lock(struct mutex *m); | 68 | extern void mutex_lock(struct mutex *m); |