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); } }