Ignore:
Timestamp:
Dec 14, 1999, 1:50:46 PM (26 years ago)
Author:
sandervl
Message:

memory map fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/mmap.cpp

    r2066 r2072  
    1 /* $Id: mmap.cpp,v 1.28 1999-12-13 19:28:14 sandervl Exp $ */
     1/* $Id: mmap.cpp,v 1.29 1999-12-14 12:50:45 sandervl Exp $ */
    22
    33/*
     
    237237  }
    238238  else {
    239         for(i=0;i<nrpages;i++) {
    240                 if(VirtualQuery((LPSTR)pageAddr, &memInfo, PAGE_SIZE) == 0) {
    241                         dprintf(("Win32MemMap::commitPage: VirtualQuery (%x,%x) failed for %x", pageAddr, PAGE_SIZE));
     239        ULONG sizeleft = nrpages*PAGE_SIZE;
     240        while(sizeleft) {
     241                if(VirtualQuery((LPSTR)pageAddr, &memInfo, sizeleft) == 0) {
     242                        dprintf(("Win32MemMap::commitPage: VirtualQuery (%x,%x) failed", pageAddr, sizeleft));
    242243                        goto fail;
    243244                }
     
    247248                                goto fail;
    248249                }
    249                 pageAddr += PAGE_SIZE;
     250                memInfo.RegionSize = (memInfo.RegionSize+PAGE_SIZE-1) & ~0xfff;
     251                pageAddr += memInfo.RegionSize;
     252                sizeleft -= memInfo.RegionSize;
    250253        }
    251254  }
Note: See TracChangeset for help on using the changeset viewer.