diff --git a/ChangeLog b/ChangeLog index 175b315f23..af80895d0b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed May 28 23:04:35 2014 Tanaka Akira + + * test/ruby/test_io.rb (test_flush_in_finalizer1): Use + ObjectSpace.each_object to close files. + GC.start is not reliable. + Wed May 28 19:00:31 2014 Tanaka Akira * lib/net/imap.rb (Net::IMAP#initialize): Close the opened socket when diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb index b104086d43..9d2ecef725 100644 --- a/test/ruby/test_io.rb +++ b/test/ruby/test_io.rb @@ -2358,6 +2358,7 @@ End assert_nothing_raised(TypeError, bug3910) do 500.times { f = File.open(path, "w") + f.instance_variable_set(:@test_flush_in_finalizer1, true) fds << f.fileno f.print "hoge" } @@ -2365,7 +2366,11 @@ End t } ensure - GC.start + ObjectSpace.each_object(File) {|f| + if f.instance_variables.include?(:@test_flush_in_finalizer1) + f.close + end + } t.close! end