MDEV-14265 - RPMLint warning: shared-lib-calls-exit

Eliminated last exit() call from libmysqld.
This commit is contained in:
Sergey Vojtovich 2018-03-15 15:34:45 +04:00
parent 7033af9e81
commit 0a534348c7
28 changed files with 45 additions and 83 deletions

View File

@ -1175,11 +1175,7 @@ int main(int argc,char *argv[])
close(stdout_fileno_copy); /* Clean up dup(). */
}
if (load_defaults("my",load_default_groups,&argc,&argv))
{
my_end(0);
exit(1);
}
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
defaults_argv=argv;
if ((status.exit_status= get_options(argc, (char **) argv)))
mysql_end(-1);

View File

@ -1133,6 +1133,8 @@ int main(int argc, char **argv)
char self_name[FN_REFLEN + 1];
MY_INIT(argv[0]);
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
defaults_argv= argv; /* Must be freed by 'free_defaults' */
#if __WIN__
if (GetModuleFileName(NULL, self_name, FN_REFLEN) == 0)
@ -1145,10 +1147,6 @@ int main(int argc, char **argv)
init_dynamic_string(&conn_args, "", 512, 256))
die("Out of memory");
if (load_defaults("my", load_default_groups, &argc, &argv))
die(NULL);
defaults_argv= argv; /* Must be freed by 'free_defaults' */
if (handle_options(&argc, &argv, my_long_options, get_one_option))
die(NULL);
if (debug_info_flag)

View File

@ -319,8 +319,7 @@ int main(int argc,char *argv[])
MY_INIT(argv[0]);
mysql_init(&mysql);
sf_leaking_memory=1; /* don't report memory leaks on early exits */
if ((error= load_defaults("my",load_default_groups,&argc,&argv)))
goto err1;
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
save_argv = argv; /* Save for free_defaults */
if ((error=handle_options(&argc, &argv, my_long_options, get_one_option)))
@ -500,10 +499,8 @@ err2:
my_free(shared_memory_base_name);
#endif
free_defaults(save_argv);
err1:
my_end(my_end_arg);
exit(error);
return 0;
return error;
}

View File

@ -2666,9 +2666,7 @@ int main(int argc, char** argv)
tzset(); // set tzname
init_alloc_root(&s_mem_root, 16384, 0, MYF(0));
if (load_defaults("my", load_groups, &argc, &argv))
exit(1);
load_defaults_or_exit("my", load_groups, &argc, &argv);
defaults_argv= argv;
if (!(binlog_filter= new Rpl_filter))

View File

@ -1165,9 +1165,7 @@ int main(int argc, char **argv)
/*
** Check out the args
*/
if (load_defaults("my", load_default_groups, &argc, &argv))
goto end2;
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
defaults_argv= argv;
if (get_options(&argc, &argv))
goto end1;
@ -1243,7 +1241,6 @@ int main(int argc, char **argv)
my_free(shared_memory_base_name);
mysql_library_end();
free_defaults(defaults_argv);
end2:
my_end(my_end_arg);
return ret;
} /* main */

View File

@ -976,8 +976,7 @@ static int get_options(int *argc, char ***argv)
opt_net_buffer_length= *mysql_params->p_net_buffer_length;
md_result_file= stdout;
if (load_defaults("my",load_default_groups,argc,argv))
return 1;
load_defaults_or_exit("my", load_default_groups, argc, argv);
defaults_argv= *argv;
if (my_hash_init(&ignore_table, charset_info, 16, 0, 0,

View File

@ -641,8 +641,7 @@ int main(int argc, char **argv)
MY_INIT(argv[0]);
sf_leaking_memory=1; /* don't report memory leaks on early exits */
if (load_defaults("my",load_default_groups,&argc,&argv))
return 1;
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
/* argv is changed in the program */
argv_to_free= argv;
if (get_options(&argc, &argv))

View File

@ -71,8 +71,7 @@ int main(int argc, char **argv)
static char **defaults_argv;
MY_INIT(argv[0]);
sf_leaking_memory=1; /* don't report memory leaks on early exits */
if (load_defaults("my",load_default_groups,&argc,&argv))
exit(1);
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
defaults_argv=argv;
get_options(&argc,&argv);

View File

@ -325,11 +325,7 @@ int main(int argc, char **argv)
MY_INIT(argv[0]);
sf_leaking_memory=1; /* don't report memory leaks on early exits */
if (load_defaults("my",load_default_groups,&argc,&argv))
{
my_end(0);
exit(1);
}
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
defaults_argv=argv;
if (get_options(&argc,&argv))
{

View File

@ -7299,9 +7299,7 @@ get_one_option(int optid, const struct my_option *opt, char *argument)
int parse_args(int argc, char **argv)
{
if (load_defaults("my",load_default_groups,&argc,&argv))
exit(1);
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
default_argv= argv;
if ((handle_options(&argc, &argv, my_long_options, get_one_option)))

View File

@ -443,9 +443,7 @@ int parse_args(int argc, char **argv)
exit(EXIT_FAILURE);
}
if (load_defaults("my", load_default_groups, &argc, &argv)) {
exit(EXIT_FAILURE);
}
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
if (handle_options(&argc, &argv, my_long_options, get_one_option)) {
exit(EXIT_FAILURE);

View File

@ -6350,10 +6350,8 @@ handle_options(int argc, char **argv, char ***argv_client, char ***argv_server)
*argv_client = argv;
*argv_server = argv;
if (load_defaults(conf_file, xb_server_default_groups,
&argc_server, argv_server)) {
exit(EXIT_FAILURE);
}
load_defaults_or_exit(conf_file, xb_server_default_groups,
&argc_server, argv_server);
int n;
for (n = 0; (*argv_server)[n]; n++) {};
@ -6403,10 +6401,8 @@ handle_options(int argc, char **argv, char ***argv_client, char ***argv_server)
xb_server_options, xb_get_one_option)))
exit(ho_error);
if (load_defaults(conf_file, xb_client_default_groups,
&argc_client, argv_client)) {
exit(EXIT_FAILURE);
}
load_defaults_or_exit(conf_file, xb_client_default_groups,
&argc_client, argv_client);
for (n = 0; (*argv_client)[n]; n++) {};
argc_client = n;

View File

@ -206,6 +206,9 @@ int main(int argc, char **argv)
if ((error= load_defaults(config_file, (const char **) load_default_groups,
&count, &arguments)))
{
my_end(0);
if (error == 4)
return 0;
if (verbose && opt_defaults_file_used)
{
if (error == 1)
@ -216,8 +219,7 @@ int main(int argc, char **argv)
fprintf(stderr, "WARNING: Defaults file '%s' is not a regular file!\n",
config_file);
}
error= 2;
exit(error);
return 2;
}
for (argument= arguments+1 ; *argument ; argument++)

View File

@ -45,6 +45,13 @@ extern void free_defaults(char **argv);
extern void my_print_default_files(const char *conf_file);
extern void print_defaults(const char *conf_file, const char **groups);
/** Simplify load_defaults() common use */
#define load_defaults_or_exit(A, B, C, D) switch (load_defaults(A, B, C, D)) { \
case 0: break; \
case 4: my_end(0); exit(0); \
default: my_end(0); exit(1); }
C_MODE_END
#endif /* MY_DEFAULT_INCLUDED */

View File

@ -631,7 +631,7 @@ int my_load_defaults(const char *conf_file, const char **groups,
if (!my_getopt_is_args_separator((*argv)[i])) /* skip arguments separator */
printf("%s ", (*argv)[i]);
puts("");
exit(0);
DBUG_RETURN(4);
}
if (default_directories)
@ -641,7 +641,7 @@ int my_load_defaults(const char *conf_file, const char **groups,
err:
fprintf(stderr,"Fatal error in defaults handling. Program aborted\n");
return 2;
DBUG_RETURN(2);
}

View File

@ -5511,8 +5511,7 @@ int mysqld_main(int argc, char **argv)
orig_argc= argc;
orig_argv= argv;
my_getopt_use_args_separator= TRUE;
if (load_defaults(MYSQL_CONFIG_NAME, load_default_groups, &argc, &argv))
return 1;
load_defaults_or_exit(MYSQL_CONFIG_NAME, load_default_groups, &argc, &argv);
my_getopt_use_args_separator= FALSE;
defaults_argc= argc;
defaults_argv= argv;

View File

@ -2689,9 +2689,7 @@ main(int argc, char **argv)
char **default_argv;
MY_INIT(argv[0]);
if (load_defaults("my",load_default_groups,&argc,&argv))
exit(1);
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
default_argv= argv;
if ((handle_options(&argc, &argv, my_long_options, get_one_option)))

View File

@ -408,8 +408,7 @@ static void print_version(void)
static void get_options(int *argc, char ***argv)
{
if (load_defaults("my", load_default_groups, argc, argv))
exit(1);
load_defaults_or_exit("my", load_default_groups, argc, argv);
default_argv= *argv;
handle_options(argc, argv, my_long_options, get_one_option);

View File

@ -895,7 +895,7 @@ static void get_options(register int *argc,register char ***argv)
{
int ho_error;
load_defaults("my", load_default_groups, argc, argv);
load_defaults_or_exit("my", load_default_groups, argc, argv);
default_argv= *argv;
check_param.testflag= T_UPDATE_STATE;
if (isatty(fileno(stdout)))

View File

@ -133,7 +133,7 @@ int main(int argc, char **argv)
uchar buffer[TRANSLOG_PAGE_SIZE];
MY_INIT(argv[0]);
load_defaults("my", load_default_groups, &argc, &argv);
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
default_argv= argv;
get_options(&argc, &argv);

View File

@ -208,7 +208,7 @@ int main(int argc, char **argv)
char **default_argv;
MY_INIT(argv[0]);
load_defaults("my",load_default_groups,&argc,&argv);
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
default_argv= argv;
get_options(&argc,&argv);
maria_init();

View File

@ -47,7 +47,7 @@ int main(int argc, char **argv)
maria_data_root= (char *)".";
sf_leaking_memory=1; /* don't report memory leaks on early exits */
load_defaults("my", load_default_groups, &argc, &argv);
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
default_argv= argv;
get_options(&argc, &argv);

View File

@ -256,7 +256,7 @@ int main(int argc __attribute__((unused)), char *argv[])
#endif
long_buffer= malloc(LONG_BUFFER_SIZE + LSN_STORE_SIZE * 2 + 2);
load_defaults("my", load_default_groups, &argc, &argv);
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
default_argv= argv;
get_options(&argc, &argv);

View File

@ -753,9 +753,7 @@ static void get_options(register int *argc,register char ***argv)
{
int ho_error;
if (load_defaults("my", load_default_groups, argc, argv))
exit(1);
load_defaults_or_exit("my", load_default_groups, argc, argv);
default_argv= *argv;
if (isatty(fileno(stdout)))
check_param.testflag|=T_WRITE_LOOP;

View File

@ -209,9 +209,7 @@ int main(int argc, char **argv)
char **default_argv;
MY_INIT(argv[0]);
if (load_defaults("my",load_default_groups,&argc,&argv))
exit(1);
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
default_argv= argv;
get_options(&argc,&argv);

View File

@ -1409,8 +1409,7 @@ int main(int argc, char **argv)
for (i= 0; i < argc; i++)
original_argv[i]= strdup(argv[i]);
if (load_defaults("my", client_test_load_default_groups, &argc, &argv))
exit(1);
load_defaults_or_exit("my", client_test_load_default_groups, &argc, &argv);
get_options(&argc, &argv);
/* Set main opt_count. */

View File

@ -7095,11 +7095,7 @@ static void test_embedded_start_stop()
MY_INIT(argv[0]);
/* Load the client defaults from the .cnf file[s]. */
if (load_defaults("my", client_test_load_default_groups, &argc, &argv))
{
myerror("load_defaults failed");
exit(1);
}
load_defaults_or_exit("my", client_test_load_default_groups, &argc, &argv);
/* Parse the options (including the ones given from defaults files). */
get_options(&argc, &argv);
@ -7147,12 +7143,7 @@ static void test_embedded_start_stop()
MY_INIT(argv[0]);
if (load_defaults("my", client_test_load_default_groups, &argc, &argv))
{
myerror("load_defaults failed \n ");
exit(1);
}
load_defaults_or_exit("my", client_test_load_default_groups, &argc, &argv);
get_options(&argc, &argv);
/* Must start the main embedded server again after the test. */

View File

@ -168,8 +168,8 @@ static void get_options(int argc, char **argv)
{
int ho_error;
if ((ho_error= load_defaults("my",load_default_groups,&argc,&argv)) ||
(ho_error= handle_options(&argc, &argv, my_long_options, get_one_option)))
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
if ((ho_error= handle_options(&argc, &argv, my_long_options, get_one_option)))
exit(ho_error);
free_defaults(argv);