diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2014-03-17 17:13:00 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2014-03-17 17:13:00 -0700 |
commit | 8f218266bb4fa4ef2a07904b106c72fda9e182a6 (patch) | |
tree | 3065ab1e65e9577c11e04d51f12c56e4da4dba69 /activerecord/test/cases/connection_pool_test.rb | |
parent | 4a69c933cf07ee296a4ae1e2612c31922019eeab (diff) | |
parent | 9e457a8654fa89fe329719f88ae3679aefb21e56 (diff) | |
download | rails-8f218266bb4fa4ef2a07904b106c72fda9e182a6.tar.gz rails-8f218266bb4fa4ef2a07904b106c72fda9e182a6.tar.bz2 rails-8f218266bb4fa4ef2a07904b106c72fda9e182a6.zip |
Merge pull request #14360 from matthewd/thread_aware_reaper
Track owning thread for connection pool
Diffstat (limited to 'activerecord/test/cases/connection_pool_test.rb')
-rw-r--r-- | activerecord/test/cases/connection_pool_test.rb | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/activerecord/test/cases/connection_pool_test.rb b/activerecord/test/cases/connection_pool_test.rb index c4108ad7f6..6300011f4a 100644 --- a/activerecord/test/cases/connection_pool_test.rb +++ b/activerecord/test/cases/connection_pool_test.rb @@ -124,7 +124,6 @@ module ActiveRecord @pool.checkout @pool.checkout @pool.checkout - @pool.dead_connection_timeout = 0 connections = @pool.connections.dup @@ -134,21 +133,25 @@ module ActiveRecord end def test_reap_inactive + ready = false @pool.checkout - @pool.checkout - @pool.checkout - @pool.dead_connection_timeout = 0 - - connections = @pool.connections.dup - connections.each do |conn| - conn.extend(Module.new { def active_threadsafe?; false; end; }) + child = Thread.new do + @pool.checkout + @pool.checkout + ready = true + Thread.stop end + Thread.pass until ready + + assert_equal 3, active_connections(@pool).size + child.terminate + child.join @pool.reap - assert_equal 0, @pool.connections.length + assert_equal 1, active_connections(@pool).size ensure - connections.each(&:close) + @pool.connections.each(&:close) end def test_remove_connection |