ruby-changes:23149
From: naruse <ko1@a...>
Date: Sat, 31 Mar 2012 22:33:10 +0900 (JST)
Subject: [ruby-changes:23149] naruse:r35199 (trunk): * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): dup to prevent
naruse 2012-03-31 22:30:10 +0900 (Sat, 31 Mar 2012) New Revision: 35199 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35199 Log: * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): dup to prevent @timeout_info's "can't add a new key into hash during iteration". Modified files: trunk/ChangeLog trunk/lib/webrick/utils.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 35198) +++ ChangeLog (revision 35199) @@ -1,3 +1,8 @@ +Sat Mar 31 21:39:45 2012 NARUSE, Yui <naruse@r...> + + * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): dup to prevent + @timeout_info's "can't add a new key into hash during iteration". + Sat Mar 31 14:22:59 2012 Nobuyoshi Nakada <nobu@r...> * hash.c (hash_default_value): extract from rb_hash_aref(), to be Index: lib/webrick/utils.rb =================================================================== --- lib/webrick/utils.rb (revision 35198) +++ lib/webrick/utils.rb (revision 35199) @@ -175,7 +175,7 @@ Thread.start{ while true now = Time.now - @timeout_info.each{|thread, ary| + @timeout_info.dup.each{|thread, ary| ary.dup.each{|info| time, exception = *info interrupt(thread, info.object_id, exception) if time < now -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/