The function
current-process-block-interrupts
blocks interrupts in the current process.
It signals an error if called outside the dynamic scope of allowing-block-interrupts or with-interrupts-blocked.
Blocking interrupts prevents any interruption of the current process, including process-interrupt, process-kill, process-reset, process-break and process-stop. These interrupts are all queued and processed once interrupts become unblocked.
Blocking interrupts also blocks interrupts due to UNIX interrupts. Such interrupts are processed either by another Lisp thread, or once interrupts become unblocked.
The effect of
current-process-block-interrupts
stays in force until the next call to either current-process-unblock-interrupts or
current-process-block-interrupts
, or an exit out of the scope of a surrounding allowing-block-interrupts or with-interrupts-blocked. Inside this range bodies of allowing-block-interrupts and with-interrupts-blocked have their own state, but they restore it on exit.
allowing-block-interrupts
current-process-unblock-interrupts
process-break
process-interrupt
process-kill
process-reset
process-stop
with-interrupts-blocked
LispWorks User Guide and Reference Manual - 21 Dec 2011