Author: tfaber
Date: Sat Apr 5 16:46:40 2014
New Revision: 62628
URL:
http://svn.reactos.org/svn/reactos?rev=62628&view=rev
Log:
[NTOS:INVB]
- Do not use KeDelayExecutionThread while holding a spin lock
CORE-8052 #resolve
Modified:
trunk/reactos/ntoskrnl/inbv/inbv.c
Modified: trunk/reactos/ntoskrnl/inbv/inbv.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/inbv/inbv.c?rev=6…
==============================================================================
--- trunk/reactos/ntoskrnl/inbv/inbv.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/inbv/inbv.c [iso-8859-1] Sat Apr 5 16:46:40 2014
@@ -39,7 +39,7 @@
static RGBQUAD _MainPalette[16];
#define PALETTE_FADE_STEPS 15
-#define PALETTE_FADE_TIME 20 * 10000 /* 20ms */
+#define PALETTE_FADE_TIME 20 * 1000 /* 20ms */
/** From bootvid/precomp.h **/
//
@@ -76,9 +76,6 @@
LPRGBQUAD Palette = (LPRGBQUAD)(PaletteBitmapBuffer + sizeof(BITMAPINFOHEADER));
ULONG Iteration, Index, ClrUsed;
- LARGE_INTEGER Interval;
-
- Interval.QuadPart = -PALETTE_FADE_TIME;
/* Check if we're installed and we own it */
if ((InbvBootDriverInstalled) &&
@@ -115,14 +112,14 @@
VidBitBlt(PaletteBitmapBuffer, 0, 0);
/* Wait for a bit. */
- KeDelayExecutionThread(KernelMode, FALSE, &Interval);
+ KeStallExecutionProcessor(PALETTE_FADE_TIME);
}
/* Release the lock */
InbvReleaseLock();
/* Wait for a bit. */
- KeDelayExecutionThread(KernelMode, FALSE, &Interval);
+ KeStallExecutionProcessor(PALETTE_FADE_TIME);
}
}