From: John Hodge Date: Wed, 30 Nov 2011 09:39:34 +0000 (+0800) Subject: Kernel - Fixed double-lock caused by workqueue X-Git-Tag: rel0.14~49 X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=40209ef79e1c74e93c08a95e8d9d1258115a5389;p=tpg%2Facess2.git Kernel - Fixed double-lock caused by workqueue --- diff --git a/Kernel/workqueue.c b/Kernel/workqueue.c index cfdf4280..2db4bf8a 100644 --- a/Kernel/workqueue.c +++ b/Kernel/workqueue.c @@ -65,10 +65,9 @@ void Workqueue_AddWork(tWorkqueue *Queue, void *Ptr) if( Queue->Sleeper ) { - SHORTLOCK( &glThreadListLock ); + Debug("Waking %p", Queue->Sleeper); if( Queue->Sleeper->Status != THREAD_STAT_ACTIVE ) Threads_AddActive(Queue->Sleeper); - SHORTREL( &glThreadListLock ); Queue->Sleeper = NULL; } SHORTREL(&Queue->Protector);