5.2 Issues in multitasking

5.2.4 Keyboard interrupts

All operating systems provide one or more interrupt characters, which are keystrokes that interrupt an operating system process. If you use an interrupt character in the Multitasking Facility, it interrupts a process and forces entry into the Debugger.

The following constructs are related to Multitasking Facility keyboard interrupts:

*keyboard-interrupt-process*
with-keyboard-interrupt-process

The Multitasking Facility uses the variable*keyboard-interrupt-process* to decide which Lisp process is the interrupt process, that is, the process that should be interrupted as a result of the keystroke. This process enters the Debugger after it is interrupted.

The default value of the variable*keyboard-interrupt-process* is the initial process, but you can set this variable to any process. The macrowith-keyboard-interrupt changes the value of the interrupt process during the execution of specified forms.

If you type a second interrupt character before the interrupt process has entered the Debugger, the Multitasking Facility starts a new process that immediately enters the Debugger by using the initial input/output (I/O) stream. A new process also enters the Debugger if the value of the variable*keyboard-interrupt-process* is not a process, is a dead or deactivated process, or is the idle process.


The Advanced User's Guide - 9 SEP 1996

Generated with Harlequin WebMaker