X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdevices%2Fintq.h;h=2312b129e1fd984240bc5813d56da9760eb9bd3b;hb=2e7e4557b7f84a1377d38c1b4db544251bcec317;hp=7d5054feb6f85a526a6dbb2ad5690fcaef2b3033;hpb=4ebf33908a571a7cde93fe618902b044e3633cdf;p=pintos-anon diff --git a/src/devices/intq.h b/src/devices/intq.h index 7d5054f..2312b12 100644 --- a/src/devices/intq.h +++ b/src/devices/intq.h @@ -7,14 +7,14 @@ /* An "interrupt queue", a circular buffer shared between kernel threads and external interrupt handlers. - These functions can be called from kernel threads or from - external interrupt handlers. Except for intq_init(), + Interrupt queue functions can be called from kernel threads or + from external interrupt handlers. Except for intq_init(), interrupts must be off in either case. - Incidentally, this has the structure of a "monitor". Normally - we'd use locks and condition variables from threads/synch.h to - implement a monitor, but those are intended only to protect - kernel threads from one another, not from interrupt + The interrupt queue has the structure of a "monitor". Locks + and condition variables from threads/synch.h cannot be used in + this case, as they normally would, because they can only + protect kernel threads from one another, not from interrupt handlers. */ /* Queue buffer size, in bytes. */