--- lib/drb/drb.rb.orig 2009-02-16 22:22:09.000000000 +0900 +++ lib/drb/drb.rb 2010-12-31 17:41:41.000000000 +0900 @@ -1416,8 +1416,14 @@ grp.add(Thread.current) list = @grp.list while list.size > 0 + list = list.map do |th| + th.kill if th.alive? + end.compact list.each do |th| - th.kill if th.alive? + begin + th.join + rescue Exception + end end list = @grp.list end