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(). */ close(stdout_fileno_copy); /* Clean up dup(). */
} }
if (load_defaults("my",load_default_groups,&argc,&argv)) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
{
my_end(0);
exit(1);
}
defaults_argv=argv; defaults_argv=argv;
if ((status.exit_status= get_options(argc, (char **) argv))) if ((status.exit_status= get_options(argc, (char **) argv)))
mysql_end(-1); mysql_end(-1);

View File

@ -1133,6 +1133,8 @@ int main(int argc, char **argv)
char self_name[FN_REFLEN + 1]; char self_name[FN_REFLEN + 1];
MY_INIT(argv[0]); 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 __WIN__
if (GetModuleFileName(NULL, self_name, FN_REFLEN) == 0) 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)) init_dynamic_string(&conn_args, "", 512, 256))
die("Out of memory"); 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)) if (handle_options(&argc, &argv, my_long_options, get_one_option))
die(NULL); die(NULL);
if (debug_info_flag) if (debug_info_flag)

View File

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

View File

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

View File

@ -1165,9 +1165,7 @@ int main(int argc, char **argv)
/* /*
** Check out the args ** Check out the args
*/ */
if (load_defaults("my", load_default_groups, &argc, &argv)) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
goto end2;
defaults_argv= argv; defaults_argv= argv;
if (get_options(&argc, &argv)) if (get_options(&argc, &argv))
goto end1; goto end1;
@ -1243,7 +1241,6 @@ int main(int argc, char **argv)
my_free(shared_memory_base_name); my_free(shared_memory_base_name);
mysql_library_end(); mysql_library_end();
free_defaults(defaults_argv); free_defaults(defaults_argv);
end2:
my_end(my_end_arg); my_end(my_end_arg);
return ret; return ret;
} /* main */ } /* 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; opt_net_buffer_length= *mysql_params->p_net_buffer_length;
md_result_file= stdout; md_result_file= stdout;
if (load_defaults("my",load_default_groups,argc,argv)) load_defaults_or_exit("my", load_default_groups, argc, argv);
return 1;
defaults_argv= *argv; defaults_argv= *argv;
if (my_hash_init(&ignore_table, charset_info, 16, 0, 0, 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]); MY_INIT(argv[0]);
sf_leaking_memory=1; /* don't report memory leaks on early exits */ sf_leaking_memory=1; /* don't report memory leaks on early exits */
if (load_defaults("my",load_default_groups,&argc,&argv)) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
return 1;
/* argv is changed in the program */ /* argv is changed in the program */
argv_to_free= argv; argv_to_free= argv;
if (get_options(&argc, &argv)) if (get_options(&argc, &argv))

View File

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

View File

@ -325,11 +325,7 @@ int main(int argc, char **argv)
MY_INIT(argv[0]); MY_INIT(argv[0]);
sf_leaking_memory=1; /* don't report memory leaks on early exits */ sf_leaking_memory=1; /* don't report memory leaks on early exits */
if (load_defaults("my",load_default_groups,&argc,&argv)) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
{
my_end(0);
exit(1);
}
defaults_argv=argv; defaults_argv=argv;
if (get_options(&argc,&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) int parse_args(int argc, char **argv)
{ {
if (load_defaults("my",load_default_groups,&argc,&argv)) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
exit(1);
default_argv= argv; default_argv= argv;
if ((handle_options(&argc, &argv, my_long_options, get_one_option))) 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); exit(EXIT_FAILURE);
} }
if (load_defaults("my", load_default_groups, &argc, &argv)) { load_defaults_or_exit("my", load_default_groups, &argc, &argv);
exit(EXIT_FAILURE);
}
if (handle_options(&argc, &argv, my_long_options, get_one_option)) { if (handle_options(&argc, &argv, my_long_options, get_one_option)) {
exit(EXIT_FAILURE); 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_client = argv;
*argv_server = argv; *argv_server = argv;
if (load_defaults(conf_file, xb_server_default_groups, load_defaults_or_exit(conf_file, xb_server_default_groups,
&argc_server, argv_server)) { &argc_server, argv_server);
exit(EXIT_FAILURE);
}
int n; int n;
for (n = 0; (*argv_server)[n]; 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))) xb_server_options, xb_get_one_option)))
exit(ho_error); exit(ho_error);
if (load_defaults(conf_file, xb_client_default_groups, load_defaults_or_exit(conf_file, xb_client_default_groups,
&argc_client, argv_client)) { &argc_client, argv_client);
exit(EXIT_FAILURE);
}
for (n = 0; (*argv_client)[n]; n++) {}; for (n = 0; (*argv_client)[n]; n++) {};
argc_client = 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, if ((error= load_defaults(config_file, (const char **) load_default_groups,
&count, &arguments))) &count, &arguments)))
{ {
my_end(0);
if (error == 4)
return 0;
if (verbose && opt_defaults_file_used) if (verbose && opt_defaults_file_used)
{ {
if (error == 1) 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", fprintf(stderr, "WARNING: Defaults file '%s' is not a regular file!\n",
config_file); config_file);
} }
error= 2; return 2;
exit(error);
} }
for (argument= arguments+1 ; *argument ; argument++) 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 my_print_default_files(const char *conf_file);
extern void print_defaults(const char *conf_file, const char **groups); 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 C_MODE_END
#endif /* MY_DEFAULT_INCLUDED */ #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 */ if (!my_getopt_is_args_separator((*argv)[i])) /* skip arguments separator */
printf("%s ", (*argv)[i]); printf("%s ", (*argv)[i]);
puts(""); puts("");
exit(0); DBUG_RETURN(4);
} }
if (default_directories) if (default_directories)
@ -641,7 +641,7 @@ int my_load_defaults(const char *conf_file, const char **groups,
err: err:
fprintf(stderr,"Fatal error in defaults handling. Program aborted\n"); 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_argc= argc;
orig_argv= argv; orig_argv= argv;
my_getopt_use_args_separator= TRUE; my_getopt_use_args_separator= TRUE;
if (load_defaults(MYSQL_CONFIG_NAME, load_default_groups, &argc, &argv)) load_defaults_or_exit(MYSQL_CONFIG_NAME, load_default_groups, &argc, &argv);
return 1;
my_getopt_use_args_separator= FALSE; my_getopt_use_args_separator= FALSE;
defaults_argc= argc; defaults_argc= argc;
defaults_argv= argv; defaults_argv= argv;

View File

@ -2689,9 +2689,7 @@ main(int argc, char **argv)
char **default_argv; char **default_argv;
MY_INIT(argv[0]); MY_INIT(argv[0]);
if (load_defaults("my",load_default_groups,&argc,&argv)) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
exit(1);
default_argv= argv; default_argv= argv;
if ((handle_options(&argc, &argv, my_long_options, get_one_option))) 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) static void get_options(int *argc, char ***argv)
{ {
if (load_defaults("my", load_default_groups, argc, argv)) load_defaults_or_exit("my", load_default_groups, argc, argv);
exit(1);
default_argv= *argv; default_argv= *argv;
handle_options(argc, argv, my_long_options, get_one_option); 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; int ho_error;
load_defaults("my", load_default_groups, argc, argv); load_defaults_or_exit("my", load_default_groups, argc, argv);
default_argv= *argv; default_argv= *argv;
check_param.testflag= T_UPDATE_STATE; check_param.testflag= T_UPDATE_STATE;
if (isatty(fileno(stdout))) if (isatty(fileno(stdout)))

View File

@ -133,7 +133,7 @@ int main(int argc, char **argv)
uchar buffer[TRANSLOG_PAGE_SIZE]; uchar buffer[TRANSLOG_PAGE_SIZE];
MY_INIT(argv[0]); 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; default_argv= argv;
get_options(&argc, &argv); get_options(&argc, &argv);

View File

@ -208,7 +208,7 @@ int main(int argc, char **argv)
char **default_argv; char **default_argv;
MY_INIT(argv[0]); 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; default_argv= argv;
get_options(&argc,&argv); get_options(&argc,&argv);
maria_init(); maria_init();

View File

@ -47,7 +47,7 @@ int main(int argc, char **argv)
maria_data_root= (char *)"."; maria_data_root= (char *)".";
sf_leaking_memory=1; /* don't report memory leaks on early exits */ 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; default_argv= argv;
get_options(&argc, &argv); get_options(&argc, &argv);

View File

@ -256,7 +256,7 @@ int main(int argc __attribute__((unused)), char *argv[])
#endif #endif
long_buffer= malloc(LONG_BUFFER_SIZE + LSN_STORE_SIZE * 2 + 2); 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; default_argv= argv;
get_options(&argc, &argv); get_options(&argc, &argv);

View File

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

View File

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

View File

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

View File

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