Object finalizer do not run until program exit
Test script: https://gist.github.com/3009867
- Ruby 1.8.7 (REE) is able to run finalizer on GC when its proc is created outside of scope and so that does not handle object in its binding.
- even Ruby 1.8.7 not able to run finalizer until program exit when finalizer's proc is created in scope where #define_finalizer is called
- neither Ruby 1.9.2, nor Ruby 1.9.3, nor Ruby-trunk is able to run finalizer until program exit.
#1 [ruby-core:45939] Updated by Nobuyoshi Nakada almost 4 years ago
- Status changed from Open to Rejected
- Priority changed from 6 to 3
(1) an object may not be collected even if it seems not referred from reading the code.
(2) finalizers may not run just after the object is collected.