I have an extention for mzscheme in C++.<br><br>This is how my code looks like:<br><br>struct Widget<br>{<br>&nbsp;&nbsp;&nbsp; Scheme_Object* callback;<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; Widget() : callback(scheme_null) { }<br>};<br><br><br>Scheme_Object* callback(int argc, Scheme_Object** argv)<br>
{<br>&nbsp;&nbsp;&nbsp; Widget* w = new Widget;<br>&nbsp;&nbsp;&nbsp; w-&gt;callback = argv[0];<br>&nbsp;&nbsp;&nbsp; return scheme_true;<br>}<br><br>argv[0] is a procedure assigned from scheme code.<br>This is getting garbage collected when i call (collect-garbage) even though a reference is held in w-&gt;callback.<br>
I want to tell the GC about this reference.<br>scheme_dont_gc_ptr(argv[0]) did not help.<br><br>thanks,<br><br>&nbsp;-- Vijay<br>