这是unix v6源代码中的xswap()中的错误吗?

时间:2017-02-25 07:17:37

标签: c unix

函数xswap由expand调用,xswap释放进程的数据段,该数据段包含进程的内核堆栈(PPDA)。因此,如果释放堆栈,xswap如何返回扩展?

// expand()(ken/slp.c)    
expand(newsize)
{
    // ...
    a2 = malloc(coremap, newsize);
    if (a2 == NULL) {
            savu(u.u_ssav);
            xswap(p, 1, n);
            p->p_flag =| SSWAP;
            swtch();
            // no return
    }
    // ...
}

0 个答案:

没有答案