From 035529c487feb5a0e1d951b1ac8f82c23cfbff62 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Sun, 30 Sep 2007 17:23:13 +0000 Subject: 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 --- uisimulator/sdl/kernel.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'uisimulator') 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) { unsigned int rd; +#ifdef HAVE_EXTENDED_MESSAGING_AND_NAME + if (q->send && q->send->curr_sender) + { + /* auto-reply */ + queue_release_sender(&q->send->curr_sender, 0); + } +#endif + if (q->read == q->write) { block_thread(&q->thread); @@ -178,6 +186,14 @@ void queue_wait(struct event_queue *q, struct event *ev) void queue_wait_w_tmo(struct event_queue *q, struct event *ev, int ticks) { +#ifdef HAVE_EXTENDED_MESSAGING_AND_NAME + if (q->send && q->send->curr_sender) + { + /* auto-reply */ + queue_release_sender(&q->send->curr_sender, 0); + } +#endif + if (q->read == q->write && ticks > 0) { block_thread_w_tmo(&q->thread, ticks); -- cgit v1.2.3