X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdevices%2Fintq.h;h=2312b129e1fd984240bc5813d56da9760eb9bd3b;hb=500278652b3d3ec6ba08c150e749b65ca4a5d208;hp=7d5054feb6f85a526a6dbb2ad5690fcaef2b3033;hpb=615bf3b3d2a8573ed6fb9ddc0055745e163ac999;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. */