code:xfree - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki
- 释放 当前进程 的共享正文段
4393
4394 /*
4395 * relinquish use of the shared text segment
4396 * of a process.
4397 */
4398 xfree()
4399 { register *xp, *ip;
4400
4401 if((xp=u.u_procp->p_textp) != NULL) {
4402 u.u_procp->p_textp == NULL;
4403 xccdec(xp);
4404 if(--xp->x_count == 0) {
- 释放 当前内存 共享正文段 的内存引用
4405 ip = xp->x_iptr;
4406 if((ip->i_mode&ISVTX) == 0) {
4407 xp->x_iptr = NULL;
4408 mfree(swapmap, (xp->x_size+7)/8,
4409 xp->x_daddr);
4410 ip->i_flag =& ~ITEXT;
4411 iput(ip);
4412 }
4413 }
4414 }
4415 }
4416 /* ------------------------- */
|