Unhandled exception in thread causes ruby to lose control


#1
Thread.abort_on_exception = true

t = Thread.new{
puts “here”
raise “exception”
}

sleep 3
puts “t thread is #{t.alive?}”

exit 0

The above code will cause ruby to eatup 100% cpu, for an infinite amount
of time on win32. If Thread.abort_on_exception is set to false, things
work as expected.

I think this is a bug. ruby 1.8.4 (2005-12-24) [i386-mswin32]

~S


#2

Shea M. wrote:

puts “t thread is #{t.alive?}”

exit 0

The above code will cause ruby to eatup 100% cpu, for an infinite amount
of time on win32.

WinXP pro, SP2: Code works just fine.

d:\temp>tex.rb
here
d:/temp/tex.rb:5: exception (RuntimeError)
from d:/temp/tex.rb:3

d:\temp>

James