Commit df7a2921 authored by monty@bitch.mysql.fi's avatar monty@bitch.mysql.fi

Made SIGTERM safer for Solaris

parent 65a711f4
...@@ -291,3 +291,5 @@ myisam/test1.MYD ...@@ -291,3 +291,5 @@ myisam/test1.MYD
myisam/test1.MYI myisam/test1.MYI
.gdbinit .gdbinit
.vimrc .vimrc
*/.pure
*/*_pure_*warnings
#! /bin/sh #! /bin/sh
path=`dirname $0` gmake -k clean || true
. "$path/SETUP.sh" /bin/rm -f */.deps/*.P config.cache
aclocal && autoheader && aclocal && automake && autoconf
(cd bdb/dist && sh s_all)
(cd innobase && aclocal && autoheader && aclocal && automake && autoconf)
if [ -d gemini ]
then
(cd gemini && aclocal && autoheader && aclocal && automake && autoconf)
fi
CFLAGS="-g -Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type -Wid-clash-51 -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wimplicit-function-dec -Wimplicit-int -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wextern-inline -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client
extra_flags="$sparc_cflags $fast_cflags" gmake -j 4
extra_configs="$sparc_configs"
. "$path/FINISH.sh"
...@@ -576,16 +576,16 @@ void kill_mysql(void) ...@@ -576,16 +576,16 @@ void kill_mysql(void)
// CloseHandle(hEvent); // CloseHandle(hEvent);
} }
#elif defined(HAVE_PTHREAD_KILL) #elif defined(HAVE_PTHREAD_KILL)
if (pthread_kill(signal_thread,SIGTERM)) /* End everything nicely */ if (pthread_kill(signal_thread,MYSQL_KILL_SIGNAL))// End everything nicely
{ {
DBUG_PRINT("error",("Got error %d from pthread_kill",errno)); /* purecov: inspected */ DBUG_PRINT("error",("Got error %d from pthread_kill",errno)); /* purecov: inspected */
} }
#else #else
kill(current_pid,SIGTERM); kill(current_pid,MYSQL_KILL_SIGNAL);
#endif #endif
DBUG_PRINT("quit",("After pthread_kill")); DBUG_PRINT("quit",("After pthread_kill"));
shutdown_in_progress=1; // Safety if kill didn't work shutdown_in_progress=1; // Safety if kill didn't work
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
...@@ -1248,8 +1248,8 @@ static void init_signals(void) ...@@ -1248,8 +1248,8 @@ static void init_signals(void)
sigaddset(&set,SIGQUIT); sigaddset(&set,SIGQUIT);
sigaddset(&set,SIGTERM); sigaddset(&set,SIGTERM);
sigaddset(&set,SIGHUP); sigaddset(&set,SIGHUP);
signal(SIGTERM,SIG_DFL); // If it's blocked by parent sigset(SIGTERM,print_signal_warning); // If it's blocked by parent
signal(SIGHUP,SIG_DFL); // If it's blocked by parent signal(SIGHUP,print_signal_warning); // If it's blocked by parent
#ifdef SIGTSTP #ifdef SIGTSTP
sigaddset(&set,SIGTSTP); sigaddset(&set,SIGTSTP);
#endif #endif
...@@ -1344,7 +1344,7 @@ static void *signal_hand(void *arg __attribute__((unused))) ...@@ -1344,7 +1344,7 @@ static void *signal_hand(void *arg __attribute__((unused)))
int error; // Used when debugging int error; // Used when debugging
if (shutdown_in_progress && !abort_loop) if (shutdown_in_progress && !abort_loop)
{ {
sig=SIGTERM; sig= MYSQL_KILL_SIGNAL;
error=0; error=0;
} }
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment