The function current-process-kill
kills the current process.
current-process-kill
signals an error if it is called when interrupts are blocked, unless it is inside the scope of with-other-threads-disabled, in which case the process is marked as "dying", and actually dies on exit from with-other-threads-disabled.
Normally, current-process-kill
throws out and does not return. It does execute all surrounding unwind-protect
forms.
If current-process-kill
is called while the process is already doing cleanups, it just returns.
If you have a process that is broken and repeatedly goes into the debugger and you are not interested in debugging it, then calling current-process-kill
is the best way of getting rid of it. This is especially useful on non-Cocoa platforms (GTK+ and Windows) when you get an interface that is badly broken.
LispWorks User Guide and Reference Manual - 13 Feb 2015