srv0start.c:

  Print an error message if someone tries to call InnoDB startip more than once during process lifetime
parent 7e7027ae
...@@ -56,6 +56,8 @@ Created 2/16/1996 Heikki Tuuri ...@@ -56,6 +56,8 @@ Created 2/16/1996 Heikki Tuuri
#include "srv0start.h" #include "srv0start.h"
#include "que0que.h" #include "que0que.h"
ibool srv_start_has_been_called = FALSE;
ulint srv_sizeof_trx_t_in_ha_innodb_cc; ulint srv_sizeof_trx_t_in_ha_innodb_cc;
ibool srv_startup_is_before_trx_rollback_phase = FALSE; ibool srv_startup_is_before_trx_rollback_phase = FALSE;
...@@ -971,6 +973,20 @@ innobase_start_or_create_for_mysql(void) ...@@ -971,6 +973,20 @@ innobase_start_or_create_for_mysql(void)
return(DB_ERROR); return(DB_ERROR);
} }
/* Since InnoDB does not currently clean up all its internal data
structures in MySQL Embedded Server Library server_end(), we
print an error message if someone tries to start up InnoDB a
second time during the process lifetime. */
if (srv_start_has_been_called) {
fprintf(stderr,
"InnoDB: Error:startup called second time during the process lifetime.\n"
"InnoDB: In the MySQL Embedded Server Library you cannot call server_init()\n"
"InnoDB: more than once during the process lifetime.\n");
}
srv_start_has_been_called = TRUE;
log_do_write = TRUE; log_do_write = TRUE;
/* yydebug = TRUE; */ /* yydebug = TRUE; */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment