From 7b18633804c606e8bcccfbb44e7d7b795e777ea6 Mon Sep 17 00:00:00 2001 From: naruse Date: Sat, 7 Apr 2012 23:41:30 +0000 Subject: * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): get keys and fetch values from it to prevent @timeout_info's error "can't add a new key into hash during iteration". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/webrick/utils.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/webrick/utils.rb b/lib/webrick/utils.rb index d9c39360ee..eab2375968 100644 --- a/lib/webrick/utils.rb +++ b/lib/webrick/utils.rb @@ -175,7 +175,9 @@ module WEBrick Thread.start{ while true now = Time.now - @timeout_info.dup.each{|thread, ary| + @timeout_info.keys.each{|thread| + ary = @timeout_info[thread] + next unless ary ary.dup.each{|info| time, exception = *info interrupt(thread, info.object_id, exception) if time < now -- cgit v1.2.3