Changeset 7360 for trunk/src/kernel32/os2heap.cpp
- Timestamp:
- Nov 16, 2001, 3:52:56 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/os2heap.cpp
r7358 r7360 1 /* $Id: os2heap.cpp,v 1.3 0 2001-11-16 12:57:00phaller Exp $ */1 /* $Id: os2heap.cpp,v 1.31 2001-11-16 14:52:55 phaller Exp $ */ 2 2 3 3 /* … … 40 40 #endif 41 41 42 VMutex heaplistmutex; //protects linked lists of heaps43 44 42 void * _LNK_CONV getmoreHeapMem(Heap_t pHeap, size_t *size, int *clean); 45 43 void _LNK_CONV releaseHeapMem(Heap_t pHeap, void *block, size_t size); 46 44 45 VMutex heaplistmutex; //protects linked lists of heaps 46 47 47 48 48 //****************************************************************************** … … 60 60 OS2Heap *curheap = OS2Heap::heap; 61 61 62 #ifdef DEBUG 62 63 totalAlloc = 0; 64 #endif 63 65 fInitialized = 0; 64 66 nrHeaps = 0; … … 158 160 memset(lpMem, 0, dwBytes+HEAP_OVERHEAD); 159 161 } 162 163 #ifdef DEBUG 160 164 totalAlloc += dwBytes; 161 165 #endif 166 162 167 //align at 8 byte boundary 163 168 lpHeapObj = (HEAPELEM *)(((ULONG)lpMem+7) & ~7); … … 251 256 int size = Size(0, lpMem); 252 257 dprintf(("OS2Heap::Free lpMem = %X, size %d\n", lpMem, size)); 258 #ifdef DEBUG 253 259 totalAlloc -= size; 260 #endif 254 261 #endif 255 262 … … 272 279 dprintf(("OS2Heap::Validate, %X %X", dwFlags, lpMem)); 273 280 274 if(lpMem == NULL) {275 dprintf(("OS2Heap::Validate lpMem == NULL\n"));276 return(FALSE);277 }278 281 /* verify lpMem address */ 279 282 if (lpMem >= (LPVOID)ulMaxAddr || lpMem < (LPVOID)0x10000) … … 341 344 OS2Heap *OS2Heap::heap = NULL; 342 345 346 343 347 //****************************************************************************** 344 348 //****************************************************************************** … … 353 357 //NOTE: MUST use 64kb here or else we are at risk of running out of virtual 354 358 // memory space. (when allocating 4kb we actually get 4kb + 60k uncommited) 355 *size = ( *size / 65536) * 65536 +65536;359 *size = ( (*size / 65536) + 1) * 65536; 356 360 357 361 rc = DosAllocMem(&newblock, *size, PAG_READ|PAG_WRITE|PAG_COMMIT|PAG_EXECUTE);
Note:
See TracChangeset
for help on using the changeset viewer.