mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
made IM to work with --defaults-file smoothly
BitKeeper/deleted/.del-my.cnf~9322f78f12eb2f3c: Delete: support-files/my.cnf include/my_sys.h: fixed prototype to reflect changes in default.c mysys/default.c: use my_search_option_files instead of process_default_option_files. This is used from the IM. server-tools/instance-manager/instance.cc: added parameter to complete_initialization(). this ine marks whether we are creating the only instance (for instance, when no config file given) server-tools/instance-manager/instance.h: prototype changed server-tools/instance-manager/instance_map.cc: Now call my_search_option_files to work smootly with --defaults-file server-tools/instance-manager/instance_map.h: added first_option member. This is set of mysqlmanager was started with --defaults-file or with --extra-defaults-file to be passed to the my_search_option_files server-tools/instance-manager/instance_options.cc: if we have only one instance, name the pidfile `hostname`.pid for compatibility reasons. server-tools/instance-manager/instance_options.h: header fixed according to .cc server-tools/instance-manager/manager.cc: prototype fixed server-tools/instance-manager/options.cc: save --defaults-file of --defaults-extra-file to pass it to my_search_option_files server-tools/instance-manager/options.h: added an optin to save --default-file options support-files/Makefile.am: revert changes
This commit is contained in:
@@ -110,10 +110,10 @@ err_new_instance:
|
||||
C_MODE_END
|
||||
|
||||
|
||||
Instance_map::Instance_map(const char *default_mysqld_path_arg)
|
||||
Instance_map::Instance_map(const char *default_mysqld_path_arg,
|
||||
const char *first_option_arg):
|
||||
mysqld_path(default_mysqld_path_arg), first_option(first_option_arg)
|
||||
{
|
||||
mysqld_path= default_mysqld_path_arg;
|
||||
|
||||
pthread_mutex_init(&LOCK_instance_map, 0);
|
||||
}
|
||||
|
||||
@@ -193,9 +193,10 @@ int Instance_map::complete_initialization()
|
||||
|
||||
/*
|
||||
After an instance have been added to the instance_map,
|
||||
hash_free should handle it's deletion.
|
||||
hash_free should handle it's deletion => goto err, not
|
||||
err_instance.
|
||||
*/
|
||||
if (instance->complete_initialization(this, mysqld_path))
|
||||
if (instance->complete_initialization(this, mysqld_path, 1))
|
||||
goto err;
|
||||
}
|
||||
else
|
||||
@@ -220,7 +221,25 @@ err_instance:
|
||||
|
||||
int Instance_map::load()
|
||||
{
|
||||
if (process_default_option_files("my", process_option, (void *) this) ||
|
||||
int argc= 1;
|
||||
/* this is a dummy variable for search_option_files() */
|
||||
uint args_used= 0;
|
||||
const char *argv_options[3];
|
||||
char **argv= (char **) &argv_options;
|
||||
|
||||
/* the name of the program may be orbitrary here in fact */
|
||||
argv_options[0]= "mysqlmanager";
|
||||
if (first_option != NULL)
|
||||
{
|
||||
argc= 2;
|
||||
argv_options[1]= first_option;
|
||||
argv_options[2]= '\0';
|
||||
}
|
||||
else
|
||||
argv_options[1]= '\0';
|
||||
|
||||
if (my_search_option_files("my", &argc, (char ***) &argv, &args_used,
|
||||
process_option, (void *) this) ||
|
||||
complete_initialization())
|
||||
return 1;
|
||||
|
||||
|
Reference in New Issue
Block a user