summaryrefslogtreecommitdiff
path: root/libmysql
diff options
context:
space:
mode:
Diffstat (limited to 'libmysql')
-rw-r--r--libmysql/client_settings.h11
-rw-r--r--libmysql/errmsg.c3
-rw-r--r--libmysql/libmysql.c17
3 files changed, 16 insertions, 15 deletions
diff --git a/libmysql/client_settings.h b/libmysql/client_settings.h
index 3798eaa3544..b1a85f567f9 100644
--- a/libmysql/client_settings.h
+++ b/libmysql/client_settings.h
@@ -58,3 +58,14 @@ int cli_stmt_execute(MYSQL_STMT *stmt);
MYSQL_DATA * cli_read_binary_rows(MYSQL_STMT *stmt);
int cli_unbuffered_fetch(MYSQL *mysql, char **row);
const char * cli_read_statistic(MYSQL *mysql);
+
+#ifdef EMBEDDED_LIBRARY
+int init_embedded_server(int argc, char **argv, char **groups);
+void end_embedded_server();
+
+#else
+/* Prevent warnings of unused parameters */
+#define init_embedded_server(a,b,c) ((void)a, (void)b, (void)c, 0)
+#define end_embedded_server()
+#endif /*EMBEDDED_LIBRARY*/
+
diff --git a/libmysql/errmsg.c b/libmysql/errmsg.c
index 4dfcfe6a1d3..569267ddb37 100644
--- a/libmysql/errmsg.c
+++ b/libmysql/errmsg.c
@@ -72,7 +72,6 @@ const char *client_errors[]=
"Can't open shared memory. Can't send the request event to server (%lu)",
"Wrong or unknown protocol",
"Invalid connection handle",
- "mysql_server_init wasn't called",
"Connection using old (pre 4.1.1) authentication protocol refused (client option 'secure_auth' enabled)"
};
@@ -129,7 +128,6 @@ const char *client_errors[]=
"Can't open shared memory. Can't send the request event to server (%lu)",
"Wrong or unknown protocol",
"Invalid connection handle",
- "mysql_server_init wasn't called",
"Connection using old (pre 4.1.1) authentication protocol refused (client option 'secure_auth' enabled)"
};
@@ -184,7 +182,6 @@ const char *client_errors[]=
"Can't open shared memory. Can't send the request event to server (%lu)",
"Wrong or unknown protocol",
"Invalid connection handle",
- "mysql_server_init wasn't called",
"Connection using old (pre 4.1.1) authentication protocol refused (client option 'secure_auth' enabled)"
};
#endif
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index a4b300a0448..9f2ae280cfc 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -94,8 +94,9 @@ my_bool stmt_close(MYSQL_STMT *stmt, my_bool skip_list);
static my_bool mysql_client_init= 0;
static my_bool org_my_init_done= 0;
-void mysql_once_init(void)
+int STDCALL mysql_server_init(int argc, char **argv, char **groups)
{
+ int result= 0;
if (!mysql_client_init)
{
mysql_client_init=1;
@@ -131,24 +132,18 @@ void mysql_once_init(void)
#if defined(SIGPIPE) && !defined(__WIN__)
(void) signal(SIGPIPE, SIG_IGN);
#endif
+ result= init_embedded_server(argc, argv, groups);
}
#ifdef THREAD
else
my_thread_init(); /* Init if new thread */
#endif
-}
-
-#ifndef EMBEDDED_LIBRARY
-int STDCALL mysql_server_init(int argc __attribute__((unused)),
- char **argv __attribute__((unused)),
- char **groups __attribute__((unused)))
-{
- mysql_once_init();
- return 0;
+ return result;
}
void STDCALL mysql_server_end()
{
+ end_embedded_server();
/* If library called my_init(), free memory allocated by it */
if (!org_my_init_done)
{
@@ -163,8 +158,6 @@ void STDCALL mysql_server_end()
mysql_client_init= org_my_init_done= 0;
}
-#endif /*EMBEDDED_LIBRARY*/
-
my_bool STDCALL mysql_thread_init()
{
#ifdef THREAD