[previous] [up] [next]     [index]
Next: Garbage Collection Up: Memory Management Previous: Weak Boxes

Will Executors

A will executor manages a collection of values and associated will procedures. The will procedure for each value is invoked when the value has been proven unreachable -- except through will executors, weak boxes, and custodians -- by the automatic memory manager.

Calling the will-execute or will-try-execute procedure executes a will that is ready in the specified will executor.

If a value is registered with multiple wills, the wills are executed in the reverse order of registration. Since executing a will procedure makes the value reachable again, the value must be proven unreachable once again before another of the wills is executed.

If the content value of a weak box is registered with a will executor, the weak box's content is not changed to #f until all wills have been executed for the value and the value has been proven unreachable again.



PLT