diff options
Diffstat (limited to 'sql/stacktrace.c')
-rw-r--r-- | sql/stacktrace.c | 10 |
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 |