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
myisam/test1.MYI
.gdbinit
.vimrc
*/.pure
*/*_pure_*warnings
#! /bin/sh
path=`dirname $0`
. "$path/SETUP.sh"
gmake -k clean || true
/bin/rm -f */.deps/*.P config.cache
extra_flags="$sparc_cflags $fast_cflags"
extra_configs="$sparc_configs"
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
. "$path/FINISH.sh"
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
gmake -j 4
......@@ -576,12 +576,12 @@ void kill_mysql(void)
// CloseHandle(hEvent);
}
#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 */
}
#else
kill(current_pid,SIGTERM);
kill(current_pid,MYSQL_KILL_SIGNAL);
#endif
DBUG_PRINT("quit",("After pthread_kill"));
shutdown_in_progress=1; // Safety if kill didn't work
......@@ -1248,8 +1248,8 @@ static void init_signals(void)
sigaddset(&set,SIGQUIT);
sigaddset(&set,SIGTERM);
sigaddset(&set,SIGHUP);
signal(SIGTERM,SIG_DFL); // If it's blocked by parent
signal(SIGHUP,SIG_DFL); // If it's blocked by parent
sigset(SIGTERM,print_signal_warning); // If it's blocked by parent
signal(SIGHUP,print_signal_warning); // If it's blocked by parent
#ifdef SIGTSTP
sigaddset(&set,SIGTSTP);
#endif
......@@ -1344,7 +1344,7 @@ static void *signal_hand(void *arg __attribute__((unused)))
int error; // Used when debugging
if (shutdown_in_progress && !abort_loop)
{
sig=SIGTERM;
sig= MYSQL_KILL_SIGNAL;
error=0;
}
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