[#40961] [Bug #3137] complex.rb changes exceptions of Math — Yusuke Endoh <redmine@...>

Bug #3137: complex.rb changes exceptions of Math

15 messages 2010/04/12
[#40967] Re: [Bug #3137] complex.rb changes exceptions of Math — keiju@... (石塚圭樹) 2010/04/13

けいじゅ@いしつかです.

[#41038] Windows と DL が使用条件の libffi — Aaron Patterson <aaron.patterson@...>

こんにちは!アーロンです。

17 messages 2010/04/22
[#41039] Re: Windows と DL が使用条件の libffi — "U.Nakamura" <usa@...> 2010/04/22

こんにちは、なかむら(う)です。

[#41040] Re: Windows と DL が使用条件の libffi — "NARUSE, Yui" <naruse@...> 2010/04/22

成瀬です。

[#41059] Re: Windows と DL が使用条件の libffi — Aaron Patterson <aaron.patterson@...> 2010/04/26

2010/4/21 NARUSE, Yui <naruse@airemix.jp>:

[#41060] Re: Windows と DL が使用条件の libffi — Yugui <yugui@...> 2010/04/26

2010/4/26 Aaron Patterson <aaron.patterson@gmail.com>:

[#41067] [Feature #3203] LazySweepGC patch — Narihiro Nakamura <redmine@...>

Feature #3203: LazySweepGC patch

15 messages 2010/04/26
[#41069] Re: [Feature #3203] LazySweepGC patch — Yusuke ENDOH <mame@...> 2010/04/27

遠藤です。

[#41104] Rails3 M17N — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

29 messages 2010/04/30
[#41111] Re: Rails3 M17N — Urabe Shyouhei <shyouhei@...> 2010/04/30

Yukihiro Matsumoto =E3=81=95=E3=82=93=E3=81=AF=E6=9B=B8=E3=81=8D=E3=81=BE=

[#41113] Re: Rails3 M17N — Yukihiro Matsumoto <matz@...> 2010/04/30

まつもと ゆきひろです

[ruby-dev:41082] [Bug #2398] race condition of /#{ foo }/o

From: Yusuke Endoh <redmine@...>
Date: 2010-04-27 13:55:07 UTC
List: ruby-dev #41082
チケット #2398 が更新されました。 (by Yusuke Endoh)

担当者 Nobuyoshi NakadaからYusuke Endohに変更
Target version 1.9.2にセット
ruby -v -にセット

遠藤です。

とりあえず、最初に once 区間に突入した (onceinlinecache を実行した)
スレッドが once 区間を脱出する (setinlinecache を実行する) まで、
2 番目以降に同じ区間に突入するスレッドをブロックするパッチを書きま
した。

最初のスレッドが正常に出口に到達しなかった場合、2 番目以降に突入した
スレッドたちは永久にブロックしてしまいますが、SEGV よりましですし、
Ctrl+C で止めることもできるので、いいかなと思います。
そもそもそういう状況になるようなプログラムに問題があると言えるかも
しれません。

すぐにコミットしてしまいますが、反対があったら言ってください。


diff --git a/insns.def b/insns.def
index 9541465..ba6f1d6 100644
--- a/insns.def
+++ b/insns.def
@@ -1199,10 +1199,17 @@ onceinlinecache
 ()
 (VALUE val)
 {
+  retry:
     if (ic->ic_vmstat) {
 	val = ic->ic_value.value;
 	JUMP(dst);
     }
+    else if (ic->ic_value.value == Qundef)
+    {
+    	RUBY_VM_CHECK_INTS();
+    	rb_thread_schedule();
+	goto retry;
+    }
     else {
 	/* none */
 	ic->ic_value.value = Qundef;

-- 
Yusuke Endoh <mame@tsg.ne.jp>
----------------------------------------
http://redmine.ruby-lang.org/issues/show/2398

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

In This Thread