[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sc-dev] Finalizers
It is working in general; the problem is it collects in between calls.
I figured out what the problem was; InstallFinalizer() calls GCWrite
() to make a reference between the object getting a finalizer and the
Finalizer object. GCWrite() checks that the parent (the object
getting a finalizer) is black, which it isn't because I had just
created it with instantiateObject() (in the case of .alloc at least).
The solution is to manually call toGrey() to force the reference.
Does this sound alright? Do you know of a better way to do this that
avoids using finalizers?