Calling (
has the effect that when the specified object is being garbage-collected,
EXT:FINALIZE
object
function
)(
will be executed.FUNCALL
function
object
)
Calling (
has a similar effect, but only as long as the
EXT:FINALIZE
object
function
guardian
)guardian
has not been garbage-collected:
when object
is being garbage-collected, (
will be executed.
If the FUNCALL
function
object
guardian
)guardian
is garbage-collected before object
is, nothing happens.
The time when “the object
is being garbage-collected” is
not defined deterministically. (Actually, it might possibly never
occur.) It denotes a moment at which no references to object
exist from other Lisp objects. When the function
is called,
object
(and possibly guardian
) enter
the “arena of live Lisp objects” again.
No finalization request will be executed more than once.
These notes document CLISP version 2.41 | Last modified: 2006-10-13 |