From cc0552877bd56629e44c82d18273d80f9ec05ef1 Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Wed, 1 Sep 2004 06:24:05 +0000 Subject: [PATCH] Made queue_clear() atomic, and made the argument non-const git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5030 a1c6a512-1295-4272-9138-f99709370657 --- firmware/kernel.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/firmware/kernel.c b/firmware/kernel.c index 6d9e2a8def..a9c7711003 100644 --- a/firmware/kernel.c +++ b/firmware/kernel.c @@ -131,10 +131,12 @@ bool queue_empty(const struct event_queue* q) return ( q->read == q->write ); } -void queue_clear(const struct event_queue* q) +void queue_clear(struct event_queue* q) { + int oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL); q->read = 0; q->write = 0; + set_irq_level(oldlevel); } int queue_broadcast(int id, void *data)