diff options
author | Nick Sieger <nick@nicksieger.com> | 2008-08-22 11:43:20 -0500 |
---|---|---|
committer | Nick Sieger <nick@nicksieger.com> | 2008-08-29 14:12:12 -0500 |
commit | a96b7d4c33757364a19ed1fc34f0a89801b8b2d7 (patch) | |
tree | caf325b1a09493e6ca4c150b762484020a5688ea /activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb | |
parent | d7d2d73d88e465cb0c618283862179accd8932e1 (diff) | |
download | rails-a96b7d4c33757364a19ed1fc34f0a89801b8b2d7.tar.gz rails-a96b7d4c33757364a19ed1fc34f0a89801b8b2d7.tar.bz2 rails-a96b7d4c33757364a19ed1fc34f0a89801b8b2d7.zip |
Add connection reset and verification upon each connection checkout
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb b/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb index 988f85e909..365c80fe1d 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb @@ -261,12 +261,17 @@ module ActiveRecord def checkout_new_connection c = new_connection @connections << c - @checked_out << c - c + checkout_and_verify(c) end def checkout_existing_connection c = (@connections - @checked_out).first + checkout_and_verify(c) + end + + def checkout_and_verify(c) + c.reset! + c.verify!(verification_timeout) @checked_out << c c end |