1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-12 08:01:43 +03:00

branches/zip:

Fix Mantis issue#34 https://svn.innodb.com/mantis/view.php?id=34
"I_S plugins should refuse to load if the storage engine plugin is not loaded"
and MySQL Bug#36310 http://bugs.mysql.com/36310
"InnoDB plugin crash"

* Make srv_was_started public
* Set srv_was_started at the end of innobase_start_or_create_for_mysql()
  so it is not set to TRUE if innodb encounters some startup error
* Refuse to start any of the I_S plugins if srv_was_started is not TRUE

Approved by:	Heikki
This commit is contained in:
vasil
2008-04-29 14:57:06 +00:00
parent 4316056aa6
commit c45dedd4e4
3 changed files with 30 additions and 2 deletions

View File

@@ -70,9 +70,9 @@ UNIV_INTERN ibool srv_start_raw_disk_in_use = FALSE;
UNIV_INTERN ibool srv_startup_is_before_trx_rollback_phase = FALSE;
UNIV_INTERN ibool srv_is_being_started = FALSE;
UNIV_INTERN ibool srv_was_started = FALSE;
#ifndef UNIV_HOTBACKUP
static ibool srv_start_has_been_called = FALSE;
static ibool srv_was_started = FALSE;
#endif /* !UNIV_HOTBACKUP */
/* At a shutdown the value first climbs to SRV_SHUTDOWN_CLEANUP
@@ -1550,7 +1550,6 @@ innobase_start_or_create_for_mysql(void)
/* Create the thread which warns of long semaphore waits */
os_thread_create(&srv_error_monitor_thread, NULL,
thread_ids + 3 + SRV_MAX_N_IO_THREADS);
srv_was_started = TRUE;
srv_is_being_started = FALSE;
if (trx_doublewrite == NULL) {
@@ -1736,6 +1735,8 @@ innobase_start_or_create_for_mysql(void)
srv_file_per_table = srv_file_per_table_original_value;
srv_was_started = TRUE;
return((int) DB_SUCCESS);
}