Use a work item only for calling KdSystemDebugControl with code 10
(which is Tab + K, or "Enter Kernel Debugger") because sometimes when
the system crashes work items do not work anymore. Thanks to Filip for
pointing out the problem.
Modified: trunk/reactos/drivers/input/keyboard/keyboard.c
_____
Modified: trunk/reactos/drivers/input/keyboard/keyboard.c
--- trunk/reactos/drivers/input/keyboard/keyboard.c 2005-03-21
12:41:54 UTC (rev 14252)
+++ trunk/reactos/drivers/input/keyboard/keyboard.c 2005-03-21
17:09:06 UTC (rev 14253)
@@ -441,7 +441,7 @@
if (SystemArgument1 == NULL && DoSystemDebug != -1)
{
- if (KbdWorkItem != NULL)
+ if (KbdWorkItem != NULL && DoSystemDebug == 10) /* 10 is Tab + K
(enter kernel debugger) */
{
IoQueueWorkItem(KbdWorkItem,
(PIO_WORKITEM_ROUTINE)KbdWorkItemRoutine, DelayedWorkQueue, NULL);
}