mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 04:13:34 +00:00
[HAL]
Don't spin with an interlocked operation. svn path=/branches/ros-amd64-bringup/; revision=44849
This commit is contained in:
@@ -35,8 +35,9 @@ HalpAcquireSystemHardwareSpinLock(VOID)
|
||||
/* Try to acquire the lock */
|
||||
while (InterlockedBitTestAndSet((PLONG)&HalpSystemHardwareLock, 0))
|
||||
{
|
||||
/* Lock is held, short wait and try again */
|
||||
YieldProcessor();
|
||||
/* Lock is held, spin until it's free */
|
||||
while (*(volatile ULONG*)HalpSystemHardwareLock & 1)
|
||||
YieldProcessor();
|
||||
}
|
||||
|
||||
/* We have the lock, save the flags now */
|
||||
|
||||
Reference in New Issue
Block a user