[plt-scheme] register-finalizer wills only executed first time program is Run in DrScheme session

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Tue May 26 05:09:45 EDT 2009

I have implemented some code using "scheme/foreign" that uses 
"register-finalizer" to clean up some resources.

When I run the test suite in a new DrScheme and then do 
"(collect-garbage)", the finalizers execute.

This is the problem: When I hit Run a second time, the test suite runs 
again correctly, but even hundreds of calls to "collect-garbage" do not 
cause the finalizers to execute.

When I do this in a REPL from the "mzscheme" command-line program, the 
finalizers always execute after each run of the test suite followed by a 
call to "collect-garbage".

Any ideas appreciated.


Posted on the users mailing list.