Lisp HUG Maillist Archive

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.

Re: mp:without-preemption vs mp:without-interrupts?

Unable to parse email body. Email id is 7136

Updated at: 2020-12-10 08:45 UTC