All Manuals > LispWorks® User Guide and Reference Manual > 42 The MP Package

process-kill Function

Summary

Kills the specified Lisp process (deprecated).

Package

mp

Signature

process-kill process

Arguments
process
A process.
Description

The function process-kill kills process.

process-kill is deprecated. Use process-terminate instead.

Notes
  1. 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.
  2. If 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.
  3. If the killing happens inside the cleanup forms of 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.
See also

ensure-process-cleanup
process-terminate


LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:51