mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 02:25:17 +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,10 +71,18 @@ KdpPrintToLog(PCH String)
|
||||||
/* Make sure we are initialized and can queue */
|
/* Make sure we are initialized and can queue */
|
||||||
if (!KdpLogInitialized || (ItemQueued)) return;
|
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);
|
ExQueueWorkItem(&KdpDebugLogQueue, HyperCriticalWorkQueue);
|
||||||
ItemQueued = TRUE;
|
ItemQueued = TRUE;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
STDCALL
|
STDCALL
|
||||||
|
|
Loading…
Reference in a new issue