Ignore:
Timestamp:
Aug 25, 1999, 4:27:07 PM (26 years ago)
Author:
sandervl
Message:

handle manager changes for DuplicateHandle + memory mapped file changes/bugfixes

File:
1 edited

Legend:

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

    r684 r690  
    1 /* $Id: mmap.cpp,v 1.10 1999-08-25 11:40:18 sandervl Exp $ */
     1/* $Id: mmap.cpp,v 1.11 1999-08-25 14:27:07 sandervl Exp $ */
    22
    33/*
     
    4040{
    4141  globalmapMutex.enter();
     42  next    = memmaps;
    4243  memmaps = this;
    43   next    = memmaps;
    4444  globalmapMutex.leave();
    4545
     
    6868                goto fail;
    6969        }
     70        mSize = SetFilePointer(hMemFile, 0, NULL, FILE_END);
     71        if(mSize == -1) {
     72                dprintf(("Win32MemMap::init: SetFilePointer failed to set pos end"));
     73                goto fail;
     74        }
    7075  }
    7176  this->hMemMap = hMemMap;
     
    143148//  mapMutex.enter();
    144149  newProt  = mProtFlags & (PAGE_READONLY | PAGE_READWRITE | PAGE_WRITECOPY);
    145   newProt |= MEM_COMMIT;
    146150
    147151  dprintf(("Win32MemMap::commitPage %x (faultaddr %x), nr of pages %d", pageAddr, lpPageFaultAddr, nrpages));
    148   if(VirtualProtect((LPVOID)pageAddr, nrpages*PAGE_SIZE, newProt, &oldProt) == FALSE) {
     152  if(VirtualAlloc((LPVOID)pageAddr, nrpages*PAGE_SIZE, MEM_COMMIT, newProt) == FALSE) {
    149153        goto fail;
    150154  }
     
    201205  LPVOID mapview;
    202206
    203   if(fdwAccess & (FILE_MAP_WRITE|FILE_MAP_ALL_ACCESS) && !(mProtFlags & PAGE_READWRITE))
    204         goto parmfail;
    205   if(fdwAccess & FILE_MAP_READ && !(mProtFlags & (PAGE_READWRITE|PAGE_READONLY)))
    206         goto parmfail;
    207   if(fdwAccess & FILE_MAP_COPY && !(mProtFlags & PAGE_WRITECOPY))
     207  if((fdwAccess & FILE_MAP_WRITE) && !(mProtFlags & PAGE_READWRITE))
     208        goto parmfail;
     209  if((fdwAccess & FILE_MAP_READ) && !(mProtFlags & (PAGE_READWRITE|PAGE_READONLY)))
     210        goto parmfail;
     211  if((fdwAccess & FILE_MAP_COPY) && !(mProtFlags & PAGE_WRITECOPY))
    208212        goto parmfail;
    209213
Note: See TracChangeset for help on using the changeset viewer.