next up previous contents
Next: 2.3 Packages Up: 2 Design Choices and Previous: 2.1.5 Array Initialization

2.2 Default Interrupts for Lisp

CMU Common Lisp has several interrupt handlers defined when it starts up, as follows:

SIGINT (tex2html_wrap_inline16649c)
causes Lisp to enter a break loop. This puts you into the debugger which allows you to look at the current state of the computation. If you proceed from the break loop, the computation will proceed from where it was interrupted.

SIGQUIT (tex2html_wrap_inline16649L)
causes Lisp to do a throw to the top-level. This causes the current computation to be aborted, and control returned to the top-level read-eval-print loop.

SIGTSTP (tex2html_wrap_inline16649z)
causes Lisp to suspend execution and return to the Unix shell. If control is returned to Lisp, the computation will proceed from where it was interrupted.

SIGILL, SIGBUS, SIGSEGV, and SIGFPE
cause Lisp to signal an error.

For keyboard interrupt signals, the standard interrupt character is in parentheses. Your `.login' may set up different interrupt characters. When a signal is generated, there may be some delay before it is processed since Lisp cannot be interrupted safely in an arbitrary place. The computation will continue until a safe point is reached and then the interrupt will be processed. See section 6.9.1 to define your own signal handlers.



Raymond Toy
Mon Jul 14 09:11:27 EDT 1997