Bug #3168: TypeError in Timeout.timeout
http://redmine.ruby-lang.org/issues/show/3168

起票者: Kazuhiro NISHIYAMA
ステータス: Open, 優先度: Normal
カテゴリ: lib, Target version: 1.9.2
ruby -v: ruby 1.9.2dev (2010-04-19 trunk 27394) [x86_64-linux]

http://d.hatena.ne.jp/moro/20100416/1271410920 で知ったのですが、timeout待ち用のスレッドが sleep の例外を無視してるのはまずいのではないでしょうか?


diff --git a/test/test_timeout.rb b/test/test_timeout.rb
index 9ec9c02..472e7ad 100644
--- a/test/test_timeout.rb
+++ b/test/test_timeout.rb
@@ -23,4 +23,12 @@ class TestTimeout < Test::Unit::TestCase
     end
     assert !@flag, "[ruby-dev:38319]"
   end
+
+  def test_cannot_convert_into_time_interval
+    aoe = Thread.abort_on_exception
+    Thread.abort_on_exception = true
+    Timeout.timeout(1.i) { sleep 0.1 }
+  ensure
+    Thread.abort_on_exception = aoe
+  end
 end


----------------------------------------
http://redmine.ruby-lang.org