- Allow file debug prints to happen at IRQL > DISPATCH_LEVEL, but don't queue a work item until we are at <= DISPATCH. Fixes /DEBUGPORT=FILE freeze/crash/bug.

svn path=/trunk/; revision=16745
This commit is contained in:
Alex Ionescu 2005-07-26 15:15:18 +00:00
parent b8f8df7565
commit cdfdfa0b8b

View file

@ -71,9 +71,17 @@ KdpPrintToLog(PCH String)
/* Make sure we are initialized and can queue */
if (!KdpLogInitialized || (ItemQueued)) return;
/* Queue the work item */
/*
* Queue the work item
* Note that we don't want to queue if we are > DISPATCH_LEVEL...
* The message is in the buffer and will simply be taken care of at
* the next time we are at <= DISPATCH, so it won't be lost.
*/
if (KeGetCurrentIrql() <= DISPATCH_LEVEL)
{
ExQueueWorkItem(&KdpDebugLogQueue, HyperCriticalWorkQueue);
ItemQueued = TRUE;
}
}
VOID