diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-10-01 06:30:18 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-10-01 06:30:18 -0700 |
commit | 4f2f121684a68f0bd43c113d5b07436430692601 (patch) | |
tree | 85074903b3ada101da5840d00517ec69c8db0cf2 /struct.h | |
parent | 7fcaf54de475ec9e06e612a73b4e90f09d641958 (diff) | |
download | txr-4f2f121684a68f0bd43c113d5b07436430692601.tar.gz txr-4f2f121684a68f0bd43c113d5b07436430692601.tar.bz2 txr-4f2f121684a68f0bd43c113d5b07436430692601.zip |
Support for reverse order in finalization.
A new optional argument on finalize allows it to
be expressed that multiple finalizers on the same
object are to be called in reverse order, which is
potentially for objects with inheritance.
* gc.c (gc_finalize): New optional argument, rev_order_p.
Insert at the head of the list if this argument is
specified and true.
(gc_late_init): Register finalize as three-argument
function with optional argument.
* gc.h (gc_finalize): Declaration updated.
* share/txr/stdlib/struct.tl (defstruct): Register :fini
functions in reverse, so that derived finalizers
are called before supertype finalizers.
* txr.1: Documented new finalize argument, and
behavior of :fini.
Diffstat (limited to 'struct.h')
0 files changed, 0 insertions, 0 deletions