Node:Guardians, Previous:Weak References, Up:Memory Management
|make-guardian [greedy?]||Scheme Procedure|
|scm_make_guardian (greedy_p)||C Function|
Create a new guardian.
A guardian protects a set of objects from garbage collection,
allowing a program to apply cleanup or other actions.
See R. Kent Dybvig, Carl Bruggeman, and David Eby (1993) "Guardians in a Generation-Based Garbage Collector". ACM SIGPLAN Conference on Programming Language Design and Implementation, June 1993.
(the semantics are slightly different at this point, but the paper still (mostly) accurately describes the interface).
|destroy-guardian! guardian||Scheme Procedure|
|scm_destroy_guardian_x (guardian)||C Function|
|Destroys guardian, by making it impossible to put any more objects in it or get any objects from it. It also unguards any objects guarded by guardian.|
|guardian-greedy? guardian||Scheme Procedure|
|scm_guardian_greedy_p (guardian)||C Function|
|guardian-destroyed? guardian||Scheme Procedure|
|scm_guardian_destroyed_p (guardian)||C Function|