diff options
| author | Linus Nielsen Feltzing <linus@haxx.se> | 2004-09-01 06:24:05 +0000 |
|---|---|---|
| committer | Linus Nielsen Feltzing <linus@haxx.se> | 2004-09-01 06:24:05 +0000 |
| commit | cc0552877bd56629e44c82d18273d80f9ec05ef1 (patch) | |
| tree | d6dbd97cf3f74e6e9fc6f976ba3490a908b2d2d5 /firmware/kernel.c | |
| parent | 9872fead25247639eea33b40c2413907d9a6fbf4 (diff) | |
| download | rockbox-cc0552877bd56629e44c82d18273d80f9ec05ef1.zip rockbox-cc0552877bd56629e44c82d18273d80f9ec05ef1.tar.gz rockbox-cc0552877bd56629e44c82d18273d80f9ec05ef1.tar.bz2 rockbox-cc0552877bd56629e44c82d18273d80f9ec05ef1.tar.xz | |
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
Diffstat (limited to 'firmware/kernel.c')
| -rw-r--r-- | firmware/kernel.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/firmware/kernel.c b/firmware/kernel.c index 6d9e2a8..a9c7711 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) |