其实我的疑问是注释里的Clear old maps.里的old maps是怎么来的,我能想到的就是线程竞争导致了内存覆盖,因为正常逻辑走到这里就不应该有冲突。
【 在 colyli 的大作中提到: 】
: do_brk()是这么被调用的:
: /\* Ok, looks good - let it rip. */
: if (do_brk(oldbrk, newbrk-oldbrk) != oldbrk)
: goto out;
:
: 所以就是将进程的堆空间从oldbrk扩展到n
: ..................
发自「今日水木 on 键盘侠」
--
FROM 124.64.18.*