diff options
| author | Linus Nielsen Feltzing <linus@haxx.se> | 2006-01-23 10:53:47 +0000 |
|---|---|---|
| committer | Linus Nielsen Feltzing <linus@haxx.se> | 2006-01-23 10:53:47 +0000 |
| commit | 765e0f89d804b00c504104f4842947bdeee69fa3 (patch) | |
| tree | c551b287abc9605dc676863c877fa07358938d85 /firmware/kernel.c | |
| parent | 6be916b379d27664fcbb529fa6034357393d0ccf (diff) | |
| download | rockbox-765e0f89d804b00c504104f4842947bdeee69fa3.zip rockbox-765e0f89d804b00c504104f4842947bdeee69fa3.tar.gz rockbox-765e0f89d804b00c504104f4842947bdeee69fa3.tar.bz2 rockbox-765e0f89d804b00c504104f4842947bdeee69fa3.tar.xz | |
New kernel function, queue_delete(struct event_queue *q)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8424 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/kernel.c')
| -rw-r--r-- | firmware/kernel.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/firmware/kernel.c b/firmware/kernel.c index b30a3bb..f8b9cec 100644 --- a/firmware/kernel.c +++ b/firmware/kernel.c @@ -83,6 +83,26 @@ void queue_init(struct event_queue *q) all_queues[num_queues++] = q; } +void queue_delete(struct event_queue *q) +{ + int i; + + /* Find the queue to be deleted */ + for(i = 0;i < num_queues;i++) + { + if(all_queues[i] == q) + break; + } + + /* Move the following queues up in the list */ + for(;i < num_queues-1;i++) + { + all_queues[i] = all_queues[i+1]; + } + + num_queues--; +} + void queue_wait(struct event_queue *q, struct event *ev) { while(q->read == q->write) |