The function process-kill
kills the specified Lisp process.
process-kill
is deprecated. Use process-terminate instead.
process-kill
kills the process by sending it an interrupt with current-process-kill, which will throw out of whatever it is doing. That means that any code that is executing without interrupts blocked may abort in the middle. It is wise in general to block interrupts around all sensitive places, so that process-kill
may kill the process in a non-sensitive place.process-kill
is called while the process is in a no-interrupt context, the killing will actually happen when the process exits that no-interrupt context.unwind-protect
, it may terminate a cleanup in the middle. It is possible to protect against this by doing all cleanups with interrupts disallowed, but that is not easy. Thus process-kill
may be problematic, and should be avoided when possible. Whenever possible, make your processes check some flag that can be set by other threads and exit when the flag is set to some value.LispWorks User Guide and Reference Manual - 20 Sep 2017