From b88cfbad684ed57b058a3e6b63d458516b41db85 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 13 Nov 2007 13:09:59 +0400 Subject: Bug #31868 mysql_server_init crash when language path is not correctly set. When mysql_server_init() interrupts on some error (wrong errmsg file for example) in the middle of it's execution, it doesn't call execute_ddl_log_recovery() so LOCK_gdl mutex isn't init-ed. In this case we shouldn't execute release_ddl_log during cleanup as it uses that mutex inside. BitKeeper/etc/ignore: Added libmysqld/scheduler.cc libmysqld/sql_connect.cc libmysqld/sql_tablespace.cc libmysql_r/client_settings.h to the ignore list libmysqld/lib_sql.cc: Bug #31868 mysql_server_init crash when language path is not correctly set. line moved to clean_up() sql/mysqld.cc: Bug #31868 mysql_server_init crash when language path is not correctly set. release_ddl_log() now can be called from common 'clean_up()' sql/sql_table.cc: Bug #31868 mysql_server_init crash when language path is not correctly set. do_release flag added to the global_ddl_log and the construcntor to set it's initial value. Also now release_ddl_log() checks for that flag. --- libmysqld/lib_sql.cc | 1 - 1 file changed, 1 deletion(-) (limited to 'libmysqld') diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc index 4e525f8447f..e9c54a3bd5c 100644 --- a/libmysqld/lib_sql.cc +++ b/libmysqld/lib_sql.cc @@ -551,7 +551,6 @@ void end_embedded_server() { my_free((char*) copy_arguments_ptr, MYF(MY_ALLOW_ZERO_PTR)); copy_arguments_ptr=0; - release_ddl_log(); clean_up(0); } -- cgit v1.2.1