From: David Flanagan Date: 2007-08-09T06:06:52+09:00 Subject: Thread.abort_on_exception= in Ruby 1.9 Hi, Thread.abort_on_exception=true is not working the way I would expect it to in Ruby 1.9 (my build is from 7/24). Is this "just a bug" or a "not yet implemented" issue or is it a more fundamental problem exposed by YARV's use of native threads? That is, should we treate abort_on_exception= as a non-portable method useful only for implementations that use green threads? Here's the test code I'm using: Thread.abort_on_exception = true t = Thread.new { sleep 1 raise "boom" } t.abort_on_exception = true sleep 2 puts "done" It goes "boom" in Ruby 1.8: $ ruby -v boom.rb ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-linux] boom.rb:5: boom (RuntimeError) from boom.rb:3:in `initialize' from boom.rb:3:in `new' from boom.rb:3 But it prints "done" in Ruby 1.9: $ ruby1.9 -v boom.rb ruby 1.9.0 (2007-07-24 patchlevel 0) [i686-linux] done