summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc102
1 files changed, 52 insertions, 50 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index d48171d49be..c56e98b305e 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -151,16 +151,21 @@ SHOW_COMP_OPTION have_berkeley_db=SHOW_OPTION_YES;
#else
SHOW_COMP_OPTION have_berkeley_db=SHOW_OPTION_NO;
#endif
-#ifdef HAVE_GEMENI_DB
-SHOW_COMP_OPTION have_gemeni=SHOW_OPTION_YES;
+#ifdef HAVE_GEMINI_DB
+SHOW_COMP_OPTION have_gemini=SHOW_OPTION_YES;
#else
-SHOW_COMP_OPTION have_gemeni=SHOW_OPTION_NO;
+SHOW_COMP_OPTION have_gemini=SHOW_OPTION_NO;
#endif
#ifdef HAVE_INNOBASE_DB
SHOW_COMP_OPTION have_innobase=SHOW_OPTION_YES;
#else
SHOW_COMP_OPTION have_innobase=SHOW_OPTION_NO;
#endif
+#ifndef NO_ISAM
+SHOW_COMP_OPTION have_isam=SHOW_OPTION_YES;
+#else
+SHOW_COMP_OPTION have_isam=SHOW_OPTION_NO;
+#endif
#ifdef USE_RAID
SHOW_COMP_OPTION have_raid=SHOW_OPTION_YES;
#else
@@ -1077,26 +1082,26 @@ inline static __volatile__ void trace_stack()
uchar **stack_bottom;
uchar** ebp;
LINT_INIT(ebp);
- fprintf(stderr, "Attemping backtrace, please send the info below to\
- bugs@lists.mysql.com. If you see no messages after this, something \
- went terribly wrong - report this anyway\n");
+ fprintf(stderr, "Attemping backtrace, please send the info below to \
+bugs@lists.mysql.com. If you see no messages after this, something \
+went terribly wrong - report this anyway\n");
THD* thd = current_thd;
uint frame_count = 0;
__asm __volatile__ ("movl %%ebp,%0"
:"=r"(ebp)
:"r"(ebp));
- if(!ebp)
- {
- fprintf(stderr, "frame pointer (ebp) is NULL, did you compile with \
- -fomit-frame-pointer? Aborting backtrace\n");
- return;
- }
- if(!thd)
- {
- fprintf(stderr, "Cannot determine thread, ebp=%p, aborting backtrace\n",
- ebp);
- return;
- }
+ if (!ebp)
+ {
+ fprintf(stderr, "frame pointer (ebp) is NULL, did you compile with \
+-fomit-frame-pointer? Aborting backtrace\n");
+ return;
+ }
+ if (!thd)
+ {
+ fprintf(stderr, "Cannot determine thread, ebp=%p, aborting backtrace\n",
+ ebp);
+ return;
+ }
stack_bottom = (uchar**)thd->thread_stack;
if(ebp > stack_bottom || ebp < stack_bottom - thread_stack)
{
@@ -1107,20 +1112,20 @@ inline static __volatile__ void trace_stack()
fprintf(stderr, "stack range sanity check, ok, backtrace follows\n");
- while(ebp < stack_bottom)
+ while (ebp < stack_bottom)
+ {
+ uchar** new_ebp = (uchar**)*ebp;
+ fprintf(stderr, "%p\n", frame_count == SIGRETURN_FRAME_COUNT ?
+ *(ebp+17) : *(ebp+1));
+ if (new_ebp <= ebp )
{
- uchar** new_ebp = (uchar**)*ebp;
- fprintf(stderr, "%p\n", frame_count == SIGRETURN_FRAME_COUNT ?
- *(ebp+17) : *(ebp+1));
- if(new_ebp <= ebp )
- {
- fprintf(stderr, "New value of ebp failed sanity check\
+ fprintf(stderr, "New value of ebp failed sanity check\
terminating backtrace\n");
- return;
- }
- ebp = new_ebp;
- ++frame_count;
+ return;
}
+ ebp = new_ebp;
+ ++frame_count;
+ }
fprintf(stderr, "stack trace successful\n");
}
@@ -1133,31 +1138,27 @@ static sig_handler handle_segfault(int sig)
// but since we have got SIGSEGV already, things are a mess
// so not having the mutex is not as bad as possibly using a buggy
// mutex - so we keep things simple
- if(segfaulted)
+ if (segfaulted)
return;
segfaulted = 1;
fprintf(stderr,"\
-mysqld got signal %s in thread %d; \n\
+mysqld got signal %d;\n\
The manual section 'Debugging a MySQL server' tells you how to use a \n\
debugger on the core file to produce a backtrace that may help you find out\n\
-why mysqld died\n",sys_siglist[sig],getpid());
-#if defined(HAVE_LINUXTHREADS) && defined(__i386__)
+why mysqld died\n",sig);
+#if defined(HAVE_LINUXTHREADS)
+#ifdef __i386__
trace_stack();
-#endif
-#ifdef HAVE_LINUXTHREADS
+#endif /* __i386__ */
if (test_flags & TEST_CORE_ON_SIGNAL)
write_core(sig);
- else
- exit(1);
-#else
- exit(1); /* abort everything */
-#endif
+#endif /* HAVE_LINUXTHREADS */
+ exit(1);
}
-#ifdef HAVE_LINUXTHREADS
-
/* Produce a core for the thread */
+#ifdef HAVE_LINUXTHREADS
static sig_handler write_core(int sig)
{
signal(sig, SIG_DFL);
@@ -1756,7 +1757,7 @@ The server will not act as a slave");
if (master_host)
{
pthread_t hThread;
- if(!opt_skip_slave_start &&
+ if (!opt_skip_slave_start &&
pthread_create(&hThread, &connection_attrib, handle_slave, 0))
sql_print_error("Warning: Can't create thread to handle slave");
else if(opt_skip_slave_start)
@@ -2623,8 +2624,9 @@ struct show_var_st init_vars[]= {
{"flush", (char*) &myisam_flush, SHOW_MY_BOOL},
{"flush_time", (char*) &flush_time, SHOW_LONG},
{"have_bdb", (char*) &have_berkeley_db, SHOW_HAVE},
- {"have_gemeni", (char*) &have_gemeni, SHOW_HAVE},
+ {"have_gemini", (char*) &have_gemini, SHOW_HAVE},
{"have_innobase", (char*) &have_innobase, SHOW_HAVE},
+ {"have_isam", (char*) &have_isam, SHOW_HAVE},
{"have_raid", (char*) &have_raid, SHOW_HAVE},
{"have_ssl", (char*) &have_ssl, SHOW_HAVE},
{"init_file", (char*) &opt_init_file, SHOW_CHAR_PTR},
@@ -3101,7 +3103,7 @@ static void get_options(int argc,char **argv)
{
char* key = optarg,*p, *val;
p = strstr(optarg, "->");
- if(!p)
+ if (!p)
{
fprintf(stderr,
"bad syntax in replicate-rewrite-db - missing ->\n");
@@ -3118,7 +3120,7 @@ static void get_options(int argc,char **argv)
*val = 0;
val += 2;
while(*val && isspace(*val)) *val++;
- if(!*val)
+ if (!*val)
{
fprintf(stderr,
"bad syntax in replicate-rewrite-db - empty TO db\n");
@@ -3144,7 +3146,7 @@ static void get_options(int argc,char **argv)
}
case (int)OPT_REPLICATE_DO_TABLE:
{
- if(!do_table_inited)
+ if (!do_table_inited)
init_table_rule_hash(&replicate_do_table, &do_table_inited);
if(add_table_rule(&replicate_do_table, optarg))
{
@@ -3156,7 +3158,7 @@ static void get_options(int argc,char **argv)
}
case (int)OPT_REPLICATE_WILD_DO_TABLE:
{
- if(!wild_do_table_inited)
+ if (!wild_do_table_inited)
init_table_rule_array(&replicate_wild_do_table,
&wild_do_table_inited);
if(add_wild_table_rule(&replicate_wild_do_table, optarg))
@@ -3169,7 +3171,7 @@ static void get_options(int argc,char **argv)
}
case (int)OPT_REPLICATE_WILD_IGNORE_TABLE:
{
- if(!wild_ignore_table_inited)
+ if (!wild_ignore_table_inited)
init_table_rule_array(&replicate_wild_ignore_table,
&wild_ignore_table_inited);
if(add_wild_table_rule(&replicate_wild_ignore_table, optarg))
@@ -3182,7 +3184,7 @@ static void get_options(int argc,char **argv)
}
case (int)OPT_REPLICATE_IGNORE_TABLE:
{
- if(!ignore_table_inited)
+ if (!ignore_table_inited)
init_table_rule_hash(&replicate_ignore_table, &ignore_table_inited);
if(add_table_rule(&replicate_ignore_table, optarg))
{