Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 8014

Show
Ignore:
Timestamp:
10/25/07 08:09:41 (1 year ago)
Author:
nzkoz
Message:

Make clear_reloadable_connections! take account of @@allow_concurrency. Closes #7579 [wilson]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb

    r7735 r8014  
    9090      # Clears the cache which maps classes  
    9191      def clear_reloadable_connections! 
    92         @@active_connections.each do |name, conn| 
    93           if conn.requires_reloading? 
    94             conn.disconnect! 
    95             @@active_connections.delete(name) 
     92        if @@allow_concurrency 
     93          # With concurrent connections @@active_connections is 
     94          # a hash keyed by thread id. 
     95          @@active_connections.each do |thread_id, conns| 
     96            conns.each do |name, conn| 
     97              if conn.requires_reloading? 
     98                conn.disconnect! 
     99                @@active_connections[thread_id].delete(name) 
     100              end 
     101            end 
     102          end 
     103        else 
     104          @@active_connections.each do |name, conn| 
     105            if conn.requires_reloading? 
     106              conn.disconnect! 
     107              @@active_connections.delete(name) 
     108            end 
    96109          end 
    97110        end