summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authorVladislav Vaintroub <vvaintroub@mysql.com>2008-11-22 01:22:20 +0100
committerVladislav Vaintroub <vvaintroub@mysql.com>2008-11-22 01:22:20 +0100
commit3374afe8b0c1d4a5a92c43eaf71c76bc481f42f7 (patch)
tree4dd962f3c7caa8767a2b51cddcfb94b851027693 /sql/mysqld.cc
parentbebde5dba03a9c87b23d3517b670079ee57bd4da (diff)
parentf5890962fe68d291de2ed403f379c6a5c1e1640f (diff)
downloadmariadb-git-3374afe8b0c1d4a5a92c43eaf71c76bc481f42f7.tar.gz
merge
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc33
1 files changed, 21 insertions, 12 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 16e2364199d..a3ef599e1f9 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -733,7 +733,7 @@ uint connection_count= 0;
/* Function declarations */
pthread_handler_t signal_hand(void *arg);
-static void mysql_init_variables(void);
+static int mysql_init_variables(void);
static void get_options(int *argc,char **argv);
extern "C" my_bool mysqld_get_one_option(int, const struct my_option *, char *);
static void set_server_version(void);
@@ -3141,12 +3141,12 @@ static int init_common_variables(const char *conf_file_name, int argc,
if (!rpl_filter || !binlog_filter)
{
sql_perror("Could not allocate replication and binlog filters");
- exit(1);
+ return 1;
}
- if (init_thread_environment())
+ if (init_thread_environment() ||
+ mysql_init_variables())
return 1;
- mysql_init_variables();
#ifdef HAVE_TZNAME
{
@@ -3745,7 +3745,10 @@ version 5.0 and above. It is replaced by the binary log.");
{
/* as opt_bin_log==0, no need to free opt_bin_logname */
if (!(opt_bin_logname= my_strdup(opt_update_logname, MYF(MY_WME))))
- exit(EXIT_OUT_OF_MEMORY);
+ {
+ sql_print_error("Out of memory");
+ return EXIT_OUT_OF_MEMORY;
+ }
sql_print_error("The update log is no longer supported by MySQL in \
version 5.0 and above. It is replaced by the binary log. Now starting MySQL \
with --log-bin='%s' instead.",opt_bin_logname);
@@ -7351,6 +7354,7 @@ SHOW_VAR status_vars[]= {
{NullS, NullS, SHOW_LONG}
};
+#ifndef EMBEDDED_LIBRARY
static void print_version(void)
{
set_server_version();
@@ -7362,7 +7366,6 @@ static void print_version(void)
server_version,SYSTEM_TYPE,MACHINE_TYPE, MYSQL_COMPILATION_COMMENT);
}
-#ifndef EMBEDDED_LIBRARY
static void usage(void)
{
if (!(default_charset_info= get_charset_by_csname(default_character_set_name,
@@ -7427,7 +7430,7 @@ To see what values a running MySQL server is using, type\n\
as these are initialized by my_getopt.
*/
-static void mysql_init_variables(void)
+static int mysql_init_variables(void)
{
/* Things reset to zero */
opt_skip_slave_start= opt_reckless_slave = 0;
@@ -7508,7 +7511,10 @@ static void mysql_init_variables(void)
key_caches.empty();
if (!(dflt_key_cache= get_or_create_key_cache(default_key_cache_base.str,
default_key_cache_base.length)))
- exit(1);
+ {
+ sql_print_error("Cannot allocate the keycache");
+ return 1;
+ }
/* set key_cache_hash.default_value = dflt_key_cache */
multi_keycache_init();
@@ -7651,6 +7657,7 @@ static void mysql_init_variables(void)
tmpenv = DEFAULT_MYSQL_HOME;
(void) strmake(mysql_home, tmpenv, sizeof(mysql_home)-1);
#endif
+ return 0;
}
@@ -7711,9 +7718,11 @@ mysqld_get_one_option(int optid,
#endif
break;
#include <sslopt-case.h>
+#ifndef EMBEDDED_LIBRARY
case 'V':
print_version();
exit(0);
+#endif /*EMBEDDED_LIBRARY*/
case 'W':
if (!argument)
global_system_variables.log_warnings++;
@@ -7942,14 +7951,14 @@ mysqld_get_one_option(int optid,
if (gethostname(myhostname,sizeof(myhostname)) < 0)
{
sql_perror("Can't start server: cannot get my own hostname!");
- exit(1);
+ return 1;
}
ent=gethostbyname(myhostname);
}
if (!ent)
{
sql_perror("Can't start server: cannot resolve hostname!");
- exit(1);
+ return 1;
}
my_bind_addr = (ulong) ((in_addr*)ent->h_addr_list[0])->s_addr;
}
@@ -8146,8 +8155,8 @@ mysqld_get_one_option(int optid,
case OPT_FT_BOOLEAN_SYNTAX:
if (ft_boolean_check_syntax_string((uchar*) argument))
{
- fprintf(stderr, "Invalid ft-boolean-syntax string: %s\n", argument);
- exit(1);
+ sql_print_error("Invalid ft-boolean-syntax string: %s\n", argument);
+ return 1;
}
strmake(ft_boolean_syntax, argument, sizeof(ft_boolean_syntax)-1);
break;