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=62... ============================================================================== --- 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); } }