Use only one access to the spinlock in the assertion, because the value
may change between two access' on smp machines.
Modified: trunk/reactos/ntoskrnl/ke/spinlock.c
_____
Modified: trunk/reactos/ntoskrnl/ke/spinlock.c
--- trunk/reactos/ntoskrnl/ke/spinlock.c 2005-03-13 09:10:36 UTC
(rev 13999)
+++ trunk/reactos/ntoskrnl/ke/spinlock.c 2005-03-13 09:14:59 UTC
(rev 14000)
@@ -178,7 +178,7 @@
* FIXME: This depends on gcc assembling this test to a single load
from
* the spinlock's value.
*/
- ASSERT(*SpinLock == 0 || *SpinLock == 1);
+ ASSERT(*SpinLock < 2);
while ((i = InterlockedExchangeUL(SpinLock, 1)) == 1)
{
Show replies by date