Author: arty Date: Tue Jan 27 17:11:50 2009 New Revision: 39157
URL: http://svn.reactos.org/svn/reactos?rev=39157&view=rev Log: Finish fixing round trip of gmutex's various lock bits. Patch by alex ionescu.
Modified: trunk/reactos/ntoskrnl/ke/gmutex.c
Modified: trunk/reactos/ntoskrnl/ke/gmutex.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/gmutex.c?rev=39... ============================================================================== --- trunk/reactos/ntoskrnl/ke/gmutex.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ke/gmutex.c [iso-8859-1] Tue Jan 27 17:11:50 2009 @@ -119,11 +119,11 @@ if ((OldValue) && !(OldValue & GM_LOCK_WAITER_WOKEN)) { /* Update the Oldvalue to what it should be now */ - OldValue |= GM_LOCK_BIT; - + OldValue += GM_LOCK_BIT; + /* The mutex will be woken, minus one waiter */ - NewValue = (OldValue | GM_LOCK_WAITER_WOKEN); - NewValue -= GM_LOCK_WAITER_INC; + NewValue = OldValue + GM_LOCK_WAITER_WOKEN - + GM_LOCK_WAITER_INC;
/* Remove the Woken bit */ if (InterlockedCompareExchange(&GuardedMutex->Count,