summaryrefslogtreecommitdiff
path: root/sql/field.cc
diff options
context:
space:
mode:
authorAndrei Elkin <aelkin@mysql.com>2009-06-23 12:10:04 +0300
committerAndrei Elkin <aelkin@mysql.com>2009-06-23 12:10:04 +0300
commite2ac8c07bdd2e58f5f7b4919a76a0d1881f3ed5e (patch)
tree56e72dd0dbb12bfe48e2228710ee7c8d2f46792f /sql/field.cc
parentf3bdd56fe66736b7776e2c80b001ce3dc198cfa2 (diff)
downloadmariadb-git-e2ac8c07bdd2e58f5f7b4919a76a0d1881f3ed5e.tar.gz
Bug #38240 Crash in safe_mutex_lock () thr_mutex.c line 97 on rotate_relay_log
The reason for the crash was rotate_relay_log (mi=0x0) did not verify the passed value of active_mi. There are more cases where active_mi is supposed to be non-zero e.g change_master(), stop_slave(), and it's reasonable to protect from a similar crash all of them with common fixes. Fixed with spliting end_slave() in slave threads release and slave data clean-up parts (a new close_active_mi()). The new function is invoked at the very end of close_connections() so that all users of active_mi are proven to have left. sql/mysqld.cc: added the 2nd part (data) of the slave's clean up. sql/slave.cc: end_slave() is split in two part to release the slave threads and the remained resources separately. The new close_active_mi() should be called after all possible users ofactive_mi has left, i.e at the very end of close_connections(). sql/slave.h: interface to the new end_active_mi() function is added.
Diffstat (limited to 'sql/field.cc')
0 files changed, 0 insertions, 0 deletions