From 77e039d9daf25c0334952854db83672119a1af31 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sun, 15 Jan 2012 17:48:07 +0800 Subject: [PATCH] Kernel/mutex - Fixed double lock on glThreadListLock --- Kernel/mutex.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Kernel/mutex.c b/Kernel/mutex.c index 4b4c4e4f..597242b6 100644 --- a/Kernel/mutex.c +++ b/Kernel/mutex.c @@ -27,7 +27,7 @@ int Mutex_Acquire(tMutex *Mutex) // Get protector SHORTLOCK( &Mutex->Protector ); - //Log("Mutex_Acquire: (%p)", Mutex); +// Log("Mutex_Acquire: (%p)", Mutex); // Check if the lock is already held if( Mutex->Owner ) { @@ -94,17 +94,12 @@ void Mutex_Release(tMutex *Mutex) Mutex->Owner = Mutex->Waiting; // Set owner Mutex->Waiting = Mutex->Waiting->Next; // Next! // Reset ->LastWaiting to NULL if we have just removed the last waiting thread - // 2010-10-02 21:50 - Comemerating the death of the longest single - // blocker in the Acess2 history. REMEMBER TO - // FUCKING MAINTAIN YOUR FUCKING LISTS DIPWIT if( Mutex->LastWaiting == Mutex->Owner ) Mutex->LastWaiting = NULL; // Wake new owner - SHORTLOCK( &glThreadListLock ); if( Mutex->Owner->Status != THREAD_STAT_ACTIVE ) Threads_AddActive(Mutex->Owner); - SHORTREL( &glThreadListLock ); } else { Mutex->Owner = NULL; -- 2.20.1