summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authorunknown <monty@bitch.mysql.fi>2001-08-22 12:22:46 +0300
committerunknown <monty@bitch.mysql.fi>2001-08-22 12:22:46 +0300
commit2e6a193c0f1987094471361f72094fe659852d92 (patch)
tree80515325a13d4ade3dc297d30e69d7a9dbc72c77 /sql/mysqld.cc
parentd85006f2549dd708e356a645192bbdd838aee5fb (diff)
downloadmariadb-git-2e6a193c0f1987094471361f72094fe659852d92.tar.gz
Fix to get core files on Solaris
BUILD/compile-solaris-sparc-purify: Added -g
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 35aeaecc6e1..b484eee3480 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -1247,12 +1247,14 @@ static void init_signals(void)
sigset(THR_KILL_SIGNAL,end_thread_signal);
sigset(THR_SERVER_ALARM,print_signal_warning); // Should never be called!
- struct sigaction sa; sa.sa_flags = 0;
- sigemptyset(&sa.sa_mask);
- sigprocmask(SIG_SETMASK,&sa.sa_mask,NULL);
if (!(test_flags & TEST_NO_STACKTRACE) || (test_flags & TEST_CORE_ON_SIGNAL))
{
+ struct sigaction sa;
+ sa.sa_flags = SA_RESETHAND | SA_NODEFER;
+ sigemptyset(&sa.sa_mask);
+ sigprocmask(SIG_SETMASK,&sa.sa_mask,NULL);
+
init_stacktrace();
sa.sa_handler=handle_segfault;
sigaction(SIGSEGV, &sa, NULL);