From: John Hodge (sonata) Date: Fri, 1 Feb 2013 02:50:24 +0000 (+0800) Subject: Kernel - Updated events and workqueue to use new function X-Git-Tag: rel0.15~596^2~1 X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=dde9ec936a03d0fb597a66e8394df9feb6d8c1a1;p=tpg%2Facess2.git Kernel - Updated events and workqueue to use new function --- diff --git a/KernelLand/Kernel/events.c b/KernelLand/Kernel/events.c index c3ab282f..84a1b0a5 100644 --- a/KernelLand/Kernel/events.c +++ b/KernelLand/Kernel/events.c @@ -91,7 +91,7 @@ Uint32 Threads_WaitEvents(Uint32 EventMask) // Note stored anywhere because we're woken using other means SHORTREL( &glThreadListLock ); SHORTREL( &us->IsLocked ); - while(us->Status == THREAD_STAT_EVENTSLEEP) Threads_Yield(); + Threads_int_WaitForStatusEnd(THREAD_STAT_EVENTSLEEP); // Woken when lock is acquired SHORTLOCK( &us->IsLocked ); } diff --git a/KernelLand/Kernel/workqueue.c b/KernelLand/Kernel/workqueue.c index 9e2c6f6f..2cd6a258 100644 --- a/KernelLand/Kernel/workqueue.c +++ b/KernelLand/Kernel/workqueue.c @@ -46,10 +46,7 @@ void *Workqueue_GetWork(tWorkqueue *Queue) SHORTREL(&glThreadListLock); // Yield and sleep - Threads_Yield(); - if(us->Status == THREAD_STAT_QUEUESLEEP) { - // Why are we awake?! - } + Threads_int_WaitForStatusEnd(THREAD_STAT_QUEUESLEEP); us->WaitPointer = NULL; }