diff options
| author | Miika Pekkarinen <miipekk@ihme.org> | 2007-03-26 16:55:17 +0000 |
|---|---|---|
| committer | Miika Pekkarinen <miipekk@ihme.org> | 2007-03-26 16:55:17 +0000 |
| commit | 66258a30a407e7ea4600fc2242438ecbd084d5ea (patch) | |
| tree | b5fc767011c814a0fde9811731096f11b9f8c9b9 /firmware/export/kernel.h | |
| parent | 6c487eb5d115e77ae31b22f24b692bb2df3b90b6 (diff) | |
| download | rockbox-66258a30a407e7ea4600fc2242438ecbd084d5ea.zip rockbox-66258a30a407e7ea4600fc2242438ecbd084d5ea.tar.gz rockbox-66258a30a407e7ea4600fc2242438ecbd084d5ea.tar.bz2 rockbox-66258a30a407e7ea4600fc2242438ecbd084d5ea.tar.xz | |
Make scheduler functions thread safe core wise. A big step towards playback running on COP (not yet possible because more protection on file system level is necessary).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12926 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/kernel.h')
| -rw-r--r-- | firmware/export/kernel.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/firmware/export/kernel.h b/firmware/export/kernel.h index 1d27fed..a77ca31 100644 --- a/firmware/export/kernel.h +++ b/firmware/export/kernel.h @@ -73,6 +73,9 @@ struct event_queue struct thread_entry *thread; unsigned int read; unsigned int write; +#if NUM_CORES > 1 + bool irq_safe; +#endif #ifdef HAVE_EXTENDED_MESSAGING_AND_NAME struct queue_sender_list *send; #endif @@ -105,6 +108,11 @@ int tick_add_task(void (*f)(void)); int tick_remove_task(void (*f)(void)); extern void queue_init(struct event_queue *q, bool register_queue); +#if NUM_CORES > 1 +extern void queue_set_irq_safe(struct event_queue *q, bool state); +#else +#define queue_set_irq_safe(q,state) +#endif extern void queue_delete(struct event_queue *q); extern void queue_wait(struct event_queue *q, struct event *ev); extern void queue_wait_w_tmo(struct event_queue *q, struct event *ev, int ticks); |