summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2002-05-23 09:22:07 +0000
committerBjörn Stenberg <bjorn@haxx.se>2002-05-23 09:22:07 +0000
commit29f80283e958121dbf25ab9c279e2a95dbb36471 (patch)
treedb3b22fd8ebb609ea92987c01c5d641a814c1f99 /firmware
parent82e6a072986aceee573a57f30157556330d59d1e (diff)
downloadrockbox-29f80283e958121dbf25ab9c279e2a95dbb36471.tar.gz
rockbox-29f80283e958121dbf25ab9c279e2a95dbb36471.zip
Added queue_empty()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@658 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/kernel.c5
-rw-r--r--firmware/kernel.h3
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
97bool 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));
60extern void queue_init(struct event_queue *q); 62extern void queue_init(struct event_queue *q);
61extern void queue_wait(struct event_queue *q, struct event *ev); 63extern void queue_wait(struct event_queue *q, struct event *ev);
62extern void queue_post(struct event_queue *q, int id, void *data); 64extern void queue_post(struct event_queue *q, int id, void *data);
65extern bool queue_empty(struct event_queue* q);
63 66
64extern void mutex_init(struct mutex *m); 67extern void mutex_init(struct mutex *m);
65extern void mutex_lock(struct mutex *m); 68extern void mutex_lock(struct mutex *m);