mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fix for #1210
i fixed this in 4.1 in slightly different way libmysqld/lib_sql.cc: Initialization's flag was made global libmysqld/libmysqld.c: Check for mysql_server_init call added
This commit is contained in:
@ -306,7 +306,8 @@ char **copy_arguments(int argc, char **argv)
|
||||
extern "C"
|
||||
{
|
||||
|
||||
static my_bool inited, org_my_init_done;
|
||||
static my_bool org_my_init_done;
|
||||
my_bool server_inited;
|
||||
ulong max_allowed_packet, net_buffer_length;
|
||||
char ** copy_arguments_ptr= 0;
|
||||
|
||||
@ -338,9 +339,9 @@ int STDCALL mysql_server_init(int argc, char **argv, char **groups)
|
||||
my_umask_dir=0700; // Default umask for new directories
|
||||
|
||||
/* Only call MY_INIT() if it hasn't been called before */
|
||||
if (!inited)
|
||||
if (!server_inited)
|
||||
{
|
||||
inited=1;
|
||||
server_inited=1;
|
||||
org_my_init_done=my_init_done;
|
||||
}
|
||||
if (!org_my_init_done)
|
||||
|
@ -74,6 +74,8 @@ static int send_file_to_server(MYSQL *mysql,const char *filename);
|
||||
static ulong mysql_sub_escape_string(CHARSET_INFO *charset_info, char *to,
|
||||
const char *from, ulong length);
|
||||
|
||||
extern char server_inited;
|
||||
|
||||
#define init_sigpipe_variables
|
||||
#define set_sigpipe(mysql)
|
||||
#define reset_sigpipe(mysql)
|
||||
@ -802,6 +804,17 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
|
||||
db ? db : "(Null)",
|
||||
user ? user : "(Null)"));
|
||||
|
||||
/*
|
||||
Check mysql_server_init was called.
|
||||
This code shouldn't be merged to 4.1
|
||||
*/
|
||||
if (!server_inited)
|
||||
{
|
||||
net->last_errno=CR_UNKNOWN_ERROR;
|
||||
strmov(net->last_error,ER(net->last_errno));
|
||||
goto error;
|
||||
}
|
||||
|
||||
net->vio = 0; /* If something goes wrong */
|
||||
/* use default options */
|
||||
if (mysql->options.my_cnf_file || mysql->options.my_cnf_group)
|
||||
|
Reference in New Issue
Block a user