userpro / MemoryPool

一个极简内存池实现
MIT License
276 stars 96 forks source link

merge_free_chunk报错 #4

Closed 791136190 closed 6 years ago

791136190 commented 6 years ago

使用自动扩展后,merge_free_chunk会报错,while ((char *)p0 >= mm->start && p0->is_free),从调试来看,内存访问都是无法获取的状态

userpro commented 6 years ago

已更新 谢大佬指正

791136190 commented 6 years ago

最新的资源,启用自动扩展后,如果初始化指定的块小于后面某次申请时的大小,你的if (mp->mem_pool_size - mm->alloc_mem < total_size)判断+自动扩展会导致系统内存全被申请掉。这里应该做适当的规避。

userpro commented 6 years ago

已更新