better handling of low memory situations inside constructor
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4568 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -47,7 +47,7 @@ BBlockCache::BBlockCache(uint32 blockCount,
|
|||||||
uint32 allocationType)
|
uint32 allocationType)
|
||||||
: fFreeList(0),
|
: fFreeList(0),
|
||||||
fBlockSize(blockSize),
|
fBlockSize(blockSize),
|
||||||
fFreeBlocks(blockCount),
|
fFreeBlocks(0),
|
||||||
fBlockCount(blockCount),
|
fBlockCount(blockCount),
|
||||||
fLocker("some BBlockCache lock"),
|
fLocker("some BBlockCache lock"),
|
||||||
fAlloc(0),
|
fAlloc(0),
|
||||||
@@ -79,6 +79,7 @@ BBlockCache::BBlockCache(uint32 blockCount,
|
|||||||
_FreeBlock *block = reinterpret_cast<_FreeBlock *>(fAlloc(blockSize));
|
_FreeBlock *block = reinterpret_cast<_FreeBlock *>(fAlloc(blockSize));
|
||||||
if (!block)
|
if (!block)
|
||||||
break;
|
break;
|
||||||
|
fFreeBlocks++;
|
||||||
block->next = fFreeList;
|
block->next = fFreeList;
|
||||||
fFreeList = block;
|
fFreeList = block;
|
||||||
DEBUG_ONLY(block->magic1 = MAGIC1);
|
DEBUG_ONLY(block->magic1 = MAGIC1);
|
||||||
|
|||||||
Reference in New Issue
Block a user