[racket] Stopping scheme object from being GCed
2010/6/5 Veer <diggerrrrr at gmail.com>:
> How do i stop the scheme values being GCed
> [...]
Hello,
your C code doesn't register the global variable holding the callback
procedure with the garbage collector, hence the garbage collector may
not know that there is still a reference to the procedure left.
You can register global variables with the precise garbage collector
using the macro MZ_REGISTER_STATIC or the function
scheme_register_static (
http://www.plt-racket.org/docs/html/inside/im_memoryalloc.html#(cpp._scheme_register_static)
).
Ciao,
Thomas
--
When C++ is your hammer, every problem looks like your thumb.