Skip to content
Permalink
Browse files
MDEV-14265 - RPMLint warning: shared-lib-calls-exit
Eliminated last exit() call from libmysqld.
  • Loading branch information
Sergey Vojtovich committed Mar 16, 2018
1 parent 7033af9 commit 0a53434
Show file tree
Hide file tree
Showing 28 changed files with 45 additions and 83 deletions.
@@ -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);
@@ -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)
@@ -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 @@ int main(int argc,char *argv[])
my_free(shared_memory_base_name);
#endif
free_defaults(save_argv);
err1:
my_end(my_end_arg);
exit(error);
return 0;
return error;
}


@@ -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))
@@ -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 */
@@ -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,
@@ -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))
@@ -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);
@@ -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))
{
@@ -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)))
@@ -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);
@@ -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;
@@ -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++)
@@ -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 */
@@ -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);
}


@@ -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;
@@ -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)))
@@ -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);
@@ -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)))
@@ -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);

@@ -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();
@@ -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);

@@ -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);

@@ -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;
@@ -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);

@@ -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. */
@@ -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. */
@@ -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);

0 comments on commit 0a53434

Please sign in to comment.