提交 fe5f50a0 创建 作者: rsc's avatar rsc

fixes

上级 5e8c5d8b
......@@ -207,7 +207,7 @@ kbd_intr(void)
};
uint st, data, c;
acquire(&kbd_lock);
acquire(&kbd.lock);
st = inb(KBSTATP);
if((st & KBS_DIB) == 0)
......@@ -253,17 +253,17 @@ kbd_intr(void)
break;
default:
if(((kbd_w + 1) % KBD_BUF) != kbd_r){
kbd_buf[kbd_w++] = c;
if(kbd_w >= KBD_BUF)
kbd_w = 0;
wakeup(&kbd_r);
if(((kbd.w + 1) % KBD_BUF) != kbd.r){
kbd.buf[kbd.w++] = c;
if(kbd.w >= KBD_BUF)
kbd.w = 0;
wakeup(&kbd.r);
}
break;
}
out:
release(&kbd_lock);
release(&kbd.lock);
}
//PAGEBREAK: 25
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论