mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fix for #2126 (mysql_server_init call shouldn't be needed)
now mysql_server_init is called from mysql_init with fake parameters mysql_once_init code included to mysql_server_init. embedded-specific initialization is in init_embedded_server function include/errmsg.h: this error won't happen include/mysql.h: declarations removed libmysql/client_settings.h: declaration of init_embedded_server/end_embedded_server added libmysql/errmsg.c: this error won't happen libmysql/libmysql.c: mysql_once_init -> mysql_server_init transformations libmysqld/embedded_priv.h: declaration deleted libmysqld/lib_sql.cc: mysql_server_init -> init_embedded_server mysql_server_end -> end_embedded_server libmysqld/libmysqld.c: check for server_inited not needed now sql-common/client.c: mysql_server_init now called from mysql_init sql/client_settings.h: fake mysql_server_init for server code sql/net_serv.cc: we need MYSQL_CLIENT defined in embedded server sql/sql_client.cc: not needed now
This commit is contained in:
@ -42,9 +42,6 @@ C_MODE_START
|
||||
#include "errmsg.h"
|
||||
#include <sql_common.h>
|
||||
|
||||
static my_bool org_my_init_done;
|
||||
my_bool server_inited;
|
||||
|
||||
static my_bool
|
||||
emb_advanced_command(MYSQL *mysql, enum enum_server_command command,
|
||||
const char *header, ulong header_length,
|
||||
@ -305,7 +302,7 @@ extern "C"
|
||||
|
||||
char ** copy_arguments_ptr= 0;
|
||||
|
||||
int STDCALL mysql_server_init(int argc, char **argv, char **groups)
|
||||
int init_embedded_server(int argc, char **argv, char **groups)
|
||||
{
|
||||
char glob_hostname[FN_REFLEN];
|
||||
|
||||
@ -329,17 +326,7 @@ int STDCALL mysql_server_init(int argc, char **argv, char **groups)
|
||||
if (!groups)
|
||||
groups= (char**) fake_groups;
|
||||
|
||||
|
||||
/* Only call MY_INIT() if it hasn't been called before */
|
||||
if (!server_inited)
|
||||
{
|
||||
server_inited=1;
|
||||
org_my_init_done=my_init_done;
|
||||
}
|
||||
if (!org_my_init_done)
|
||||
{
|
||||
MY_INIT((char *)"mysql_embedded"); // init my_sys library & pthreads
|
||||
}
|
||||
my_progname= (char *)"mysql_embedded";
|
||||
|
||||
if (init_common_variables("my", *argcp, *argvp, (const char **)groups))
|
||||
{
|
||||
@ -438,14 +425,11 @@ int STDCALL mysql_server_init(int argc, char **argv, char **groups)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void STDCALL mysql_server_end()
|
||||
void end_embedded_server()
|
||||
{
|
||||
my_free((char*) copy_arguments_ptr, MYF(MY_ALLOW_ZERO_PTR));
|
||||
copy_arguments_ptr=0;
|
||||
clean_up(0);
|
||||
/* If library called my_init(), free memory allocated by it */
|
||||
if (!org_my_init_done)
|
||||
my_end(0);
|
||||
}
|
||||
|
||||
} /* extern "C" */
|
||||
|
Reference in New Issue
Block a user