• unknown's avatar
    Bug #31868 mysql_server_init crash when language path is not correctly set. · b88cfbad
    unknown authored
    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.
    b88cfbad
lib_sql.cc 27.1 KB