THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
- Module Name: SynchronizationMsc.c\r
-\r
**/\r
\r
+//\r
+// Include common header file for this module.\r
+//\r
+\r
+\r
#include "BaseLibInternals.h"\r
\r
//\r
IN OUT SPIN_LOCK *SpinLock\r
)\r
{\r
- VOID *Result;\r
+ SPIN_LOCK LockValue;\r
+ VOID *Result;\r
\r
ASSERT (SpinLock != NULL);\r
- ASSERT (*SpinLock == SPIN_LOCK_ACQUIRED || *SpinLock == SPIN_LOCK_RELEASED);\r
+\r
+ LockValue = *SpinLock;\r
+ ASSERT (LockValue == SPIN_LOCK_ACQUIRED || LockValue == SPIN_LOCK_RELEASED);\r
\r
_ReadWriteBarrier ();\r
Result = InterlockedCompareExchangePointer (\r
IN OUT SPIN_LOCK *SpinLock\r
)\r
{\r
+ SPIN_LOCK LockValue;\r
+\r
ASSERT (SpinLock != NULL);\r
- ASSERT (*SpinLock == SPIN_LOCK_ACQUIRED || *SpinLock == SPIN_LOCK_RELEASED);\r
+\r
+ LockValue = *SpinLock;\r
+ ASSERT (LockValue == SPIN_LOCK_ACQUIRED || LockValue == SPIN_LOCK_RELEASED);\r
\r
_ReadWriteBarrier ();\r
*SpinLock = SPIN_LOCK_RELEASED;\r