From ffca6e4a0a7154ddfe97fa9205c489ee014c1dd7 Mon Sep 17 00:00:00 2001 From: David Welch Date: Sun, 18 Mar 2001 20:30:22 +0000 Subject: [PATCH] Typo svn path=/trunk/; revision=1714 --- reactos/ntoskrnl/mm/freelist.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/reactos/ntoskrnl/mm/freelist.c b/reactos/ntoskrnl/mm/freelist.c index 58841d14007..073d7309dc8 100644 --- a/reactos/ntoskrnl/mm/freelist.c +++ b/reactos/ntoskrnl/mm/freelist.c @@ -549,17 +549,20 @@ MmAllocPage(SWAPENTRY SavedSwapEntry) ULONG offset; PLIST_ENTRY ListEntry; PPHYSICAL_PAGE PageDescriptor; - + KIRQL oldIrql; + DPRINT("MmAllocPage()\n"); - - ListEntry = ExInterlockedRemoveTailList(&FreePageListHead, - &PageListLock); - DPRINT("ListEntry %x\n",ListEntry); - if (ListEntry == NULL) + + KeAcquireSpinLock(&PageListLock, &oldIrql); + if (IsListEmpty(&FreePageListHead)) { DPRINT("MmAllocPage(): Out of memory\n"); + KeReleaseSpinLock(&PageListLock, oldIrql); return(NULL); } + ListEntry = RemoveTailList(&FreePageListHead); + KeReleaseSpinLock(&PageListLock, oldIrql); + PageDescriptor = CONTAINING_RECORD(ListEntry, PHYSICAL_PAGE, ListEntry); DPRINT("PageDescriptor %x\n",PageDescriptor); if (PageDescriptor->Flags != MM_PHYSICAL_PAGE_FREE)