[#41918] [Feature #3647] Array#sample(n, replace=false) — Kenta Murata <redmine@...>

Feature #3647: Array#sample(n, replace=false)

11 messages 2010/08/03

[#41966] [Bug #3673] PTY.getpty with IO.pipe doesn't finish on FreeBSD — Yui NARUSE <redmine@...>

Bug #3673: PTY.getpty with IO.pipe doesn't finish on FreeBSD

9 messages 2010/08/10

[#41969] [Feature #3675] String#prepend, String#>> — Sora Harakami <redmine@...>

Feature #3675: String#prepend, String#>>

15 messages 2010/08/10
[#41976] Re: [Feature #3675] String#prepend, String#>> — Yukihiro Matsumoto <matz@...> 2010/08/10

まつもと ゆきひろです

[#41974] Re: [ruby-cvs:36157] Ruby:r28955 (trunk): * complex.c (nucomp_to_[ifr]): don't allow complex with in-exact — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

7 messages 2010/08/10

[#42003] WEBrickに関するセキュリティ修正 (CVE-2010-0541) — Hideki Yamane <henrich@...>

12 messages 2010/08/11

[#42090] Math::atan2(0, 0) on ruby 1.9.2 — KUBO Takehiro <kubo@...>

久保です。

18 messages 2010/08/22
[#42092] Re: Math::atan2(0, 0) on ruby 1.9.2 — Kenta Murata <muraken@...> 2010/08/22

=1B$B$`$i$?$G$9!#=1B(B

[#42166] Ruby'sライセンスの、BSDLとのデュアルライセンスへの変更 — "NARUSE, Yui" <naruse@...>

Ruby's ライセンスは BSDL と Ruby's のデュアルライセンスになります。

14 messages 2010/08/31

[ruby-dev:42045] Re: [Bug #3674] dRuby サーバプロセスを停止する時に時間がかかることがある

From: Yusuke ENDOH <mame@...>
Date: 2010-08-16 15:22:25 UTC
List: ruby-dev #42045
遠藤です。

2010年8月17日0:00 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>:
> Thread#joinって最後の値を取り出しますよね。たしか例外で終了した
> 場合は例外が再びあがるんじゃなかったけ。

はい。


> begin
>   thread.kill.join
> rescue なんとかえらー
> end
>
> みたいにしたほうがよいものですか?

kill_sub_thread の文脈を理解していないのですが、例外が上がる
可能性があるならそうしたほうがよさそうですね。

あと、join で死ぬのを待つなら while list.size > 0 は要らない
かも。


diff --git a/lib/drb/drb.rb b/lib/drb/drb.rb
index cacca14..cfed15c 100644
--- a/lib/drb/drb.rb
+++ b/lib/drb/drb.rb
@@ -1417,11 +1417,11 @@ module DRb
 	grp = ThreadGroup.new
 	grp.add(Thread.current)
 	list = @grp.list
-	while list.size > 0
-	  list.each do |th|
-	    th.kill if th.alive?
+	list.each do |th|
+	  begin
+	    th.kill.join if th.alive?
+	  rescue Exception
 	  end
-	  list = @grp.list
 	end
       end
     end

-- 
Yusuke Endoh <mame@tsg.ne.jp>

In This Thread