code:prele - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki
- 解锁 一个INODE结构 / pipe结构
- 共传入一个参数 ip
- ip : 指向 struct inode结构 的指针
7875
7876 /* Unlock a pipe.
7877 * If WANT bit is on,
7878 * wakeup.
7879 * This routine is also used
7880 * to ulock inodes in general.
7881 */
7882 prele(ip)
7883 int *ip;
7884 {
7885 register *rp;
7886
7887 rp = ip;
7888 rp->i_flag =& ~ILOCK;
7889 if(rp->i_flag&IWANT) {
- 清除锁标志
7890 rp->i_flag =& ~IWANT;
7891 wakeup(rp);
7892 }
7893 }
- 如果有进程在等待该INODE,则
- 清除IWANT标志
- 唤醒因等待该块而睡眠的进程
- 参看睡眠原因
7894 /* ------------------------- */
7895
7896
7897
7898
7899