Set KernelApcPending == TRUE in KiCheckForKernelApcDelivery if we are at
APC_LEVEL. This should hopefully fix some of those silent bugs. Thanks
to Ignatich for poking me about it.
Modified: trunk/reactos/ntoskrnl/ke/apc.c
_____
Modified: trunk/reactos/ntoskrnl/ke/apc.c
--- trunk/reactos/ntoskrnl/ke/apc.c 2006-01-12 21:16:42 UTC (rev
20819)
+++ trunk/reactos/ntoskrnl/ke/apc.c 2006-01-12 21:21:19 UTC (rev
20820)
@@ -57,6 +57,7 @@
* be delivered now, but after the IRQL is lowered to passive
* level again.
*/
+ KeGetCurrentThread()->ApcState.KernelApcPending = TRUE;
HalRequestSoftwareInterrupt(APC_LEVEL);
}
}