summaryrefslogtreecommitdiff
path: root/sql/stacktrace.c
diff options
context:
space:
mode:
authormonty@bitch.mysql.fi <>2001-08-22 12:22:46 +0300
committermonty@bitch.mysql.fi <>2001-08-22 12:22:46 +0300
commitb2c030e894dc650a617db9c724cfb551e55ce16c (patch)
tree80515325a13d4ade3dc297d30e69d7a9dbc72c77 /sql/stacktrace.c
parentafd8a6db485706138e3854fe332bd38a8c72d1d3 (diff)
downloadmariadb-git-b2c030e894dc650a617db9c724cfb551e55ce16c.tar.gz
Fix to get core files on Solaris
Diffstat (limited to 'sql/stacktrace.c')
-rw-r--r--sql/stacktrace.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sql/stacktrace.c b/sql/stacktrace.c
index ab1113f74cf..408006dac93 100644
--- a/sql/stacktrace.c
+++ b/sql/stacktrace.c
@@ -205,11 +205,17 @@ resolve it\n");
/* Produce a core for the thread */
-#ifdef HAVE_WRITE_CORE
+#ifdef HAVE_LINUXTHREADS
void write_core(int sig)
{
signal(sig, SIG_DFL);
if (fork() != 0) exit(1); // Abort main program
// Core will be written at exit
}
-#endif /* HAVE_WRITE_CORE */
+#else
+void write_core(int sig)
+{
+ signal(sig, SIG_DFL);
+ pthread_kill(pthread_self(), sig);
+}
+#endif