X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdevices%2Fkbd.c;fp=src%2Fdevices%2Fkbd.c;h=9cd28400864abddcc1a18fa586eaf5951d9a96bb;hb=eb718e3b5a5470b11e58dcc652f79e115272257a;hp=ea9835876a53626e11d00d663e92b7501c4ba157;hpb=f31b7fd0769b818f910546ec97284cceb7450593;p=pintos-anon diff --git a/src/devices/kbd.c b/src/devices/kbd.c index ea98358..9cd2840 100644 --- a/src/devices/kbd.c +++ b/src/devices/kbd.c @@ -40,11 +40,12 @@ kbd_init (void) uint8_t kbd_getc (void) { + enum intr_level old_level; uint8_t key; - - intq_lock (&buffer); + + old_level = intr_disable (); key = intq_getc (&buffer); - intq_unlock (&buffer); + intr_set_level (old_level); return key; }