Unhandled exception in thread causes ruby to lose control

<code>
Thread.abort_on_exception = true

t = Thread.new{
   puts "here"
   raise "exception"
}

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

exit 0
</code>

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

Shea Martin wrote:

<code>
Thread.abort_on_exception = true

t = Thread.new{
  puts "here"
  raise "exception"
}

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

exit 0
</code>

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