Loading BitKeeper/etc/logging_ok +1 −0 Original line number Diff line number Diff line Loading @@ -7,3 +7,4 @@ sasha@mysql.sashanet.com heikki@donna.mysql.fi miguel@light.local monty@donna.mysql.fi monty@bitch.mysql.fi Docs/manual.texi +2 −6 Original line number Diff line number Diff line Loading @@ -9880,12 +9880,6 @@ that you also probably need to raise the @code{core file size} by adding @code{ulimit -c 1000000} to @code{safe_mysqld} or starting @code{safe_mysqld} with @code{--core-file-sizes=1000000}. @xref{safe_mysqld, , @code{safe_mysqld}}. To get a core dump on Linux if @code{mysqld} dies with a SIGSEGV signal, you can start @code{mysqld} with the @code{--core-file} option. Note that you also probably need to raise the @code{core file size} by adding @code{ulimit -c 1000000} to @code{safe_mysqld} or starting @code{safe_mysqld} with @code{--core-file-sizes=1000000}. @xref{safe_mysqld, , @code{safe_mysqld}}. If you are linking your own MySQL client and get the error: @example Loading Loading @@ -46844,6 +46838,8 @@ not yet 100% confident in this code. @appendixsubsec Changes in release 3.23.45 @itemize @bullet @item @code{--core-file} now works on Solaris. @item Fix a bug which could cause InnoDB to complain if it cannot find free blocks from the buffer cache during recovery. @item sql/mysqld.cc +19 −16 Original line number Diff line number Diff line Loading @@ -1116,6 +1116,19 @@ static void start_signal_handler(void) } #elif defined(__EMX__) static void init_signals(void) { signal(SIGQUIT, sig_kill); signal(SIGKILL, sig_kill); signal(SIGTERM, sig_kill); signal(SIGINT, sig_kill); signal(SIGHUP, sig_reload); // Flush everything signal(SIGALRM, SIG_IGN); signal(SIGBREAK,SIG_IGN); signal_thread = pthread_self(); } static void sig_reload(int signo) { reload_acl_and_cache((THD*) 0,REFRESH_LOG, (TABLE_LIST*) 0); // Flush everything Loading @@ -1132,22 +1145,10 @@ static void sig_kill(int signo) signal(signo, SIG_ACK); } static void init_signals(void) { signal(SIGQUIT, sig_kill); signal(SIGKILL, sig_kill); signal(SIGTERM, sig_kill); signal(SIGINT, sig_kill); signal(SIGHUP, sig_reload); // Flush everything signal(SIGALRM, SIG_IGN); signal(SIGBREAK,SIG_IGN); signal_thread = pthread_self(); } static void start_signal_handler(void) { } #else /* if ! __WIN__ && ! __EMX__ */ #ifdef HAVE_LINUXTHREADS Loading @@ -1157,10 +1158,12 @@ static void start_signal_handler(void) static sig_handler handle_segfault(int sig) { THD *thd=current_thd; // strictly speaking, one needs a mutex here // 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 /* Strictly speaking, we should need a mutex here 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) { fprintf(stderr, "Fatal signal %d while backtracing\n", sig); Loading sql/stacktrace.c +2 −0 Original line number Diff line number Diff line Loading @@ -218,5 +218,7 @@ void write_core(int sig) { signal(sig, SIG_DFL); pthread_kill(pthread_self(), sig); /* On Solaris, the above kill is not enough */ sigsend(P_PID,P_MYID,sig); } #endif Loading
BitKeeper/etc/logging_ok +1 −0 Original line number Diff line number Diff line Loading @@ -7,3 +7,4 @@ sasha@mysql.sashanet.com heikki@donna.mysql.fi miguel@light.local monty@donna.mysql.fi monty@bitch.mysql.fi
Docs/manual.texi +2 −6 Original line number Diff line number Diff line Loading @@ -9880,12 +9880,6 @@ that you also probably need to raise the @code{core file size} by adding @code{ulimit -c 1000000} to @code{safe_mysqld} or starting @code{safe_mysqld} with @code{--core-file-sizes=1000000}. @xref{safe_mysqld, , @code{safe_mysqld}}. To get a core dump on Linux if @code{mysqld} dies with a SIGSEGV signal, you can start @code{mysqld} with the @code{--core-file} option. Note that you also probably need to raise the @code{core file size} by adding @code{ulimit -c 1000000} to @code{safe_mysqld} or starting @code{safe_mysqld} with @code{--core-file-sizes=1000000}. @xref{safe_mysqld, , @code{safe_mysqld}}. If you are linking your own MySQL client and get the error: @example Loading Loading @@ -46844,6 +46838,8 @@ not yet 100% confident in this code. @appendixsubsec Changes in release 3.23.45 @itemize @bullet @item @code{--core-file} now works on Solaris. @item Fix a bug which could cause InnoDB to complain if it cannot find free blocks from the buffer cache during recovery. @item
sql/mysqld.cc +19 −16 Original line number Diff line number Diff line Loading @@ -1116,6 +1116,19 @@ static void start_signal_handler(void) } #elif defined(__EMX__) static void init_signals(void) { signal(SIGQUIT, sig_kill); signal(SIGKILL, sig_kill); signal(SIGTERM, sig_kill); signal(SIGINT, sig_kill); signal(SIGHUP, sig_reload); // Flush everything signal(SIGALRM, SIG_IGN); signal(SIGBREAK,SIG_IGN); signal_thread = pthread_self(); } static void sig_reload(int signo) { reload_acl_and_cache((THD*) 0,REFRESH_LOG, (TABLE_LIST*) 0); // Flush everything Loading @@ -1132,22 +1145,10 @@ static void sig_kill(int signo) signal(signo, SIG_ACK); } static void init_signals(void) { signal(SIGQUIT, sig_kill); signal(SIGKILL, sig_kill); signal(SIGTERM, sig_kill); signal(SIGINT, sig_kill); signal(SIGHUP, sig_reload); // Flush everything signal(SIGALRM, SIG_IGN); signal(SIGBREAK,SIG_IGN); signal_thread = pthread_self(); } static void start_signal_handler(void) { } #else /* if ! __WIN__ && ! __EMX__ */ #ifdef HAVE_LINUXTHREADS Loading @@ -1157,10 +1158,12 @@ static void start_signal_handler(void) static sig_handler handle_segfault(int sig) { THD *thd=current_thd; // strictly speaking, one needs a mutex here // 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 /* Strictly speaking, we should need a mutex here 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) { fprintf(stderr, "Fatal signal %d while backtracing\n", sig); Loading
sql/stacktrace.c +2 −0 Original line number Diff line number Diff line Loading @@ -218,5 +218,7 @@ void write_core(int sig) { signal(sig, SIG_DFL); pthread_kill(pthread_self(), sig); /* On Solaris, the above kill is not enough */ sigsend(P_PID,P_MYID,sig); } #endif