unwind-protect blocking interrupts around the cleanups.
unwind-protect-blocking-interrupts-in-cleanups protected-form &rest cleanups
The values of protected-form.
unwind-protect-blocking-interrupts-in-cleanups executes protected-form. On exit, whether local or not, the cleanups are executed with interrupts blocked.
In compiled code, the macro is equivalent to
However, in interpreted code the macro is expanded to ensure that the body of
mp:with-interrupts-blocked actually happens. If the form above is interpreted the evaluator may throw (if the process is killed, for example) before completing macroexpansion of
mp:with-interrupts-blocked and doing the actual blocking.
cleanups can block and unblock interrupts using current-process-block-interrupts and current-process-unblock-interrupts. This may be useful if some of the cleanups are essential and others are not.
Blocking interrupts causes the process to not respond to interrupts, including killing. You should make sure that forms which are executed with interrupts blocked do not hang.
LispWorks User Guide and Reference Manual - 13 Feb 2015