If a page fault occurs in user mode, we must deliver user mode apc's.
authorHartmut Birr <osexpert@googlemail.com>
Sat, 23 Jul 2005 08:14:21 +0000 (08:14 +0000)
committerHartmut Birr <osexpert@googlemail.com>
Sat, 23 Jul 2005 08:14:21 +0000 (08:14 +0000)
svn path=/trunk/; revision=16697

reactos/ntoskrnl/mm/i386/pfault.c

index ee32c2b..066165b 100644 (file)
@@ -62,14 +62,12 @@ NTSTATUS MmPageFault(ULONG Cs,
       Status = MmNotPresentFault(Mode, Cr2, FALSE);
    }
 
-   if (KeGetCurrentThread() != NULL &&
-      KeGetCurrentThread()->Alerted[UserMode] != 0 &&
-      Cs != KERNEL_CS)
+   if (Mode == UserMode && KeGetCurrentThread()->ApcState.UserApcPending)
    {
       KIRQL oldIrql;
 
       KeRaiseIrql(APC_LEVEL, &oldIrql);
-      KiDeliverApc(KernelMode, NULL, NULL);
+      KiDeliverApc(UserMode, NULL, NULL);
       KeLowerIrql(oldIrql);
    }