mp:without-preemption vs mp:without-interrupts?
I am not clear on the exact behaviour of the forms mp:without- preemption and mp:without-interrupts. The manual for mp:without-preemption says "Identifies forms which should not be preempted during execution." and, referring to the &body body argument list, "The forms to be evaluated atomically." For mp:without-interrupts the manual says "Causes any interrupts that occur during the execution of a body of code to be queued." and further down, in Description, "While body is executing, all interrupts (for example, preemption, keyboard break etc.) are queued. They are executed when body exits." The last quote leads me to believe that there are several kinds of interrupts, one of which is preemption. However, for mp:without- preemption it is stated that the forms are evaluated atomically. To me the Description for mp:without-interrupts suggests that the name 'without-preemption' implies that 'the preemption kind of interrupt' will not happen in the body of 'without-preemption' forms, whereas 'keyboard break' (e.g.) kinds of interrupts might. To me that seems to contradict the statement that the body of without-preemption is evaluated atomically. Can anyone enlighten me? When do mp:without-preemption and mp:without- interrupts behave differently? An example would be great. -Klaus.