diff --git a/ntoskrnl/mm/ARM3/miarm.h b/ntoskrnl/mm/ARM3/miarm.h index c242b795af6..9d85c42afff 100644 --- a/ntoskrnl/mm/ARM3/miarm.h +++ b/ntoskrnl/mm/ARM3/miarm.h @@ -639,7 +639,6 @@ extern PMMPDE MiHighestUserPde; extern PFN_NUMBER MmSystemPageDirectory[PPE_PER_PAGE]; extern PMMPTE MmSharedUserDataPte; extern LIST_ENTRY MmProcessList; -extern BOOLEAN MmZeroingPageThreadActive; extern KEVENT MmZeroingPageEvent; extern ULONG MmSystemPageColor; extern ULONG MmProcessColorSeed; diff --git a/ntoskrnl/mm/ARM3/mminit.c b/ntoskrnl/mm/ARM3/mminit.c index 7cd7af10838..d72e7186193 100644 --- a/ntoskrnl/mm/ARM3/mminit.c +++ b/ntoskrnl/mm/ARM3/mminit.c @@ -2181,9 +2181,8 @@ MmArmInitSystem(IN ULONG Phase, /* Initialize the Loader Lock */ KeInitializeMutant(&MmSystemLoadLock, FALSE); - /* Set the zero page event */ - KeInitializeEvent(&MmZeroingPageEvent, SynchronizationEvent, FALSE); - MmZeroingPageThreadActive = FALSE; + /* Set up the zero page event */ + KeInitializeEvent(&MmZeroingPageEvent, NotificationEvent, FALSE); /* Initialize the dead stack S-LIST */ InitializeSListHead(&MmDeadStackSListHead); diff --git a/ntoskrnl/mm/ARM3/pfnlist.c b/ntoskrnl/mm/ARM3/pfnlist.c index eac3a043418..f175541a500 100644 --- a/ntoskrnl/mm/ARM3/pfnlist.c +++ b/ntoskrnl/mm/ARM3/pfnlist.c @@ -701,10 +701,9 @@ MiInsertPageInFreeList(IN PFN_NUMBER PageFrameIndex) ColorTable->Count++; /* Notify zero page thread if enough pages are on the free list now */ - if ((ListHead->Total >= 8) && !(MmZeroingPageThreadActive)) + if (ListHead->Total >= 8) { /* Set the event */ - MmZeroingPageThreadActive = TRUE; KeSetEvent(&MmZeroingPageEvent, IO_NO_INCREMENT, FALSE); } diff --git a/ntoskrnl/mm/ARM3/zeropage.c b/ntoskrnl/mm/ARM3/zeropage.c index 6d859f6806f..5fe22294199 100644 --- a/ntoskrnl/mm/ARM3/zeropage.c +++ b/ntoskrnl/mm/ARM3/zeropage.c @@ -17,7 +17,6 @@ /* GLOBALS ********************************************************************/ -BOOLEAN MmZeroingPageThreadActive; KEVENT MmZeroingPageEvent; /* PRIVATE FUNCTIONS **********************************************************/ @@ -73,7 +72,7 @@ MmZeroPageThread(VOID) { if (!MmFreePageListHead.Total) { - MmZeroingPageThreadActive = FALSE; + KeClearEvent(&MmZeroingPageEvent); MiReleasePfnLock(OldIrql); break; }