summaryrefslogtreecommitdiff
path: root/uisimulator
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-09-30 17:23:13 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-09-30 17:23:13 +0000
commit035529c487feb5a0e1d951b1ac8f82c23cfbff62 (patch)
treeeab78bdc524e60fd61c8626f6ce560c1357e7d76 /uisimulator
parent3f9a9a1a01df7c73b569232f96a4170ed8910ea2 (diff)
downloadrockbox-035529c487feb5a0e1d951b1ac8f82c23cfbff62.tar.gz
rockbox-035529c487feb5a0e1d951b1ac8f82c23cfbff62.zip
Enable auto reply for queue messages sent with queue_send. It's only nescessary to use queue_reply to return a value other than zero or to return a result before waiting on the queue again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14923 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator')
-rw-r--r--uisimulator/sdl/kernel.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/uisimulator/sdl/kernel.c b/uisimulator/sdl/kernel.c
index ff6c94933b..e2aa0d31c4 100644
--- a/uisimulator/sdl/kernel.c
+++ b/uisimulator/sdl/kernel.c
@@ -159,6 +159,14 @@ void queue_wait(struct event_queue *q, struct event *ev)
159{ 159{
160 unsigned int rd; 160 unsigned int rd;
161 161
162#ifdef HAVE_EXTENDED_MESSAGING_AND_NAME
163 if (q->send && q->send->curr_sender)
164 {
165 /* auto-reply */
166 queue_release_sender(&q->send->curr_sender, 0);
167 }
168#endif
169
162 if (q->read == q->write) 170 if (q->read == q->write)
163 { 171 {
164 block_thread(&q->thread); 172 block_thread(&q->thread);
@@ -178,6 +186,14 @@ void queue_wait(struct event_queue *q, struct event *ev)
178 186
179void queue_wait_w_tmo(struct event_queue *q, struct event *ev, int ticks) 187void queue_wait_w_tmo(struct event_queue *q, struct event *ev, int ticks)
180{ 188{
189#ifdef HAVE_EXTENDED_MESSAGING_AND_NAME
190 if (q->send && q->send->curr_sender)
191 {
192 /* auto-reply */
193 queue_release_sender(&q->send->curr_sender, 0);
194 }
195#endif
196
181 if (q->read == q->write && ticks > 0) 197 if (q->read == q->write && ticks > 0)
182 { 198 {
183 block_thread_w_tmo(&q->thread, ticks); 199 block_thread_w_tmo(&q->thread, ticks);