diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2006-12-01 05:37:56 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2006-12-01 05:37:56 +0000 |
commit | e8eb743ba679ccfe13e3cd15f140b539f1562340 (patch) | |
tree | 01fcd9d77f83859addec3c929f2227b0a08f775b /activerecord/lib/active_record/vendor/mysql.rb | |
parent | 9040f406820a9cd2d6a016fd2a7965d21445bbec (diff) | |
download | rails-e8eb743ba679ccfe13e3cd15f140b539f1562340.tar.gz rails-e8eb743ba679ccfe13e3cd15f140b539f1562340.tar.bz2 rails-e8eb743ba679ccfe13e3cd15f140b539f1562340.zip |
Replace the elaborate reloading connection checking scheme, just fix the Ruby-based MySQL adapter, ye?
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5656 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/lib/active_record/vendor/mysql.rb')
-rw-r--r-- | activerecord/lib/active_record/vendor/mysql.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/vendor/mysql.rb b/activerecord/lib/active_record/vendor/mysql.rb index 0d8cc2efd8..58ebed7d4f 100644 --- a/activerecord/lib/active_record/vendor/mysql.rb +++ b/activerecord/lib/active_record/vendor/mysql.rb @@ -1173,8 +1173,14 @@ class << Mysql def finalizer(net) proc { - net.clear - net.write Mysql::COM_QUIT.chr + begin + net.clear + net.write Mysql::COM_QUIT.chr + net.close + rescue Error => error + # Swallow lost connection errors if connection is already closed. + raise unless error.errno == Error::CR_SERVER_LOST + end } end |