mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 17:44:45 +00:00
- 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:
parent
b8f8df7565
commit
cdfdfa0b8b
1 changed files with 11 additions and 3 deletions
|
@ -71,9 +71,17 @@ KdpPrintToLog(PCH String)
|
|||
/* Make sure we are initialized and can queue */
|
||||
if (!KdpLogInitialized || (ItemQueued)) return;
|
||||
|
||||
/* Queue the work item */
|
||||
ExQueueWorkItem(&KdpDebugLogQueue, HyperCriticalWorkQueue);
|
||||
ItemQueued = TRUE;
|
||||
/*
|
||||
* 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
|
||||
|
|
Loading…
Reference in a new issue