--- 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
