From 29f80283e958121dbf25ab9c279e2a95dbb36471 Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Thu, 23 May 2002 09:22:07 +0000 Subject: Added queue_empty() git-svn-id: svn://svn.rockbox.org/rockbox/trunk@658 a1c6a512-1295-4272-9138-f99709370657 --- firmware/kernel.c | 5 +++++ firmware/kernel.h | 3 +++ 2 files changed, 8 insertions(+) (limited to 'firmware') 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) set_irq_level(oldlevel); } +bool queue_empty(struct event_queue* q) +{ + return ( q->read == q->write ); +} + /**************************************************************************** * 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 @@ #ifndef _KERNEL_H_ #define _KERNEL_H_ +#include + /* wrap-safe macros for tick comparison */ #define TIME_AFTER(a,b) ((long)(b) - (long)(a) < 0) #define TIME_BEFORE(a,b) TIME_AFTER(b,a) @@ -60,6 +62,7 @@ int tick_remove_task(void (*f)(void)); extern void queue_init(struct event_queue *q); extern void queue_wait(struct event_queue *q, struct event *ev); extern void queue_post(struct event_queue *q, int id, void *data); +extern bool queue_empty(struct event_queue* q); extern void mutex_init(struct mutex *m); extern void mutex_lock(struct mutex *m); -- cgit v1.2.3