X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdevices%2Fkbd.c;h=9cd28400864abddcc1a18fa586eaf5951d9a96bb;hb=e49318880e6420e9b5a4ae9ffb986b49f89798e0;hp=ea9835876a53626e11d00d663e92b7501c4ba157;hpb=e27b29c73bebb27cf263ce10f58669ac8bdfc51a;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; }