I think there is a problem related to blocked signals and garbage collection: 1. Start cmucl -noinit -eval '(loop (ext:gc :full t))' in a terminal and let it run. 2. Under Linux, cat /proc/<pid>/status shows that SigBlk is 0 i.e. no signals are blocked. 3. Interrupt the loop with C-c (SIGINT) and wait for the debugger. 4. SigBlk is still 0. 5. Type c to continue the loop. 6. SigBlk is now 000000001fc90000 That's a bug, right? It should again be zero. The sigmask 000000001fc90000 corresponds to the signals: 17 SIGCHLD 20 SIGTSTP 23 SIGURG 24 SIGXCPU 25 SIGXFSZ 26 SIGVTALRM 27 SIGPROF 28 SIGWINCH 29 SIGIO SLIME uses SIGIO on a socket and if that stays blocked then SLIME can't interrupt the Lisp process. Also note that C-z in the terminal doesn't stop the process; presumably because SIGTSTP is blocked. lisp-implementation-version is "20c release-20c (20C Unicode)". Helmut