From 40209ef79e1c74e93c08a95e8d9d1258115a5389 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Wed, 30 Nov 2011 17:39:34 +0800 Subject: [PATCH] Kernel - Fixed double-lock caused by workqueue --- Kernel/workqueue.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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); -- 2.20.1