Form to run when process terminates.
The process to watch for termination. By default, this is the value of
mp:*current-process*
.
Ensures that the
cleanup-form
is present for the given process. When the process terminates, its cleanup forms are run. Cleanup forms can be functions of one argument (the process), or lists, in which case the
car
is applied to the process and the
cdr
of the list.
When adding cleanup forms, this function uses
equal
to ensure that the form is only added once.
A process calls
add-process-dependent
each time a dependent object is added to a process. When the process terminates,
inform-dependent-of-dead-process
is called on all dependent objects.
(defun add-process-dependent (dependent)
(mp:ensure-process-cleanup
`(delete-process-dependent ,dependent)))
(defun delete-process-dependent (process dependent)
(inform-dependent-of-dead-process dependent process))