mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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
This commit is contained in:
parent
9ec849ee08
commit
7b18633804
2 changed files with 9 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
Sun Apr 8 07:26:40 2012 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
|
* 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".
|
||||||
|
|
||||||
Sun Apr 8 06:51:57 2012 NARUSE, Yui <naruse@ruby-lang.org>
|
Sun Apr 8 06:51:57 2012 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
* io.c (io_unread): cast as long the value for extra_max.
|
* io.c (io_unread): cast as long the value for extra_max.
|
||||||
|
|
|
@ -175,7 +175,9 @@ module WEBrick
|
||||||
Thread.start{
|
Thread.start{
|
||||||
while true
|
while true
|
||||||
now = Time.now
|
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|
|
ary.dup.each{|info|
|
||||||
time, exception = *info
|
time, exception = *info
|
||||||
interrupt(thread, info.object_id, exception) if time < now
|
interrupt(thread, info.object_id, exception) if time < now
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue