block_t AllocBlock() { lock (freeblocks){ if (freeblocks.Count == 0) { return(new block_t(nblocks++)); } block_t ret = freeblocks[freeblocks.Count - 1]; freeblocks.RemoveAt(freeblocks.Count - 1); return(ret); } }
void FreeBlock(block_t block) { lock (freeblocks){ freeblocks.Add(block); } }