summaryrefslogtreecommitdiff
path: root/sql/stacktrace.c
diff options
context:
space:
mode:
authorunknown <knielsen@ymer.(none)>2007-07-07 07:48:43 +0200
committerunknown <knielsen@ymer.(none)>2007-07-07 07:48:43 +0200
commitefbcbad4df08a44ce93c35752e315a981812edae (patch)
treeef182257b4df3b1215ebe163cd1543bdf339c5d9 /sql/stacktrace.c
parent107d13e7c79659305510f03b7c29199d1264d323 (diff)
parent87e1a302c3bbd0f956883321358da8d1dec0591e (diff)
downloadmariadb-git-efbcbad4df08a44ce93c35752e315a981812edae.tar.gz
Merge ymer.(none):/usr/local/mysql/mysql-5.0-engines
into ymer.(none):/usr/local/mysql/mysql-5.1-engines sql/stacktrace.c: Auto merged BUILD/compile-pentium-gcov: Manual merge.
Diffstat (limited to 'sql/stacktrace.c')
-rw-r--r--sql/stacktrace.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sql/stacktrace.c b/sql/stacktrace.c
index 40507907120..b1267e20774 100644
--- a/sql/stacktrace.c
+++ b/sql/stacktrace.c
@@ -228,6 +228,15 @@ void write_core(int sig)
void write_core(int sig)
{
signal(sig, SIG_DFL);
+#ifdef HAVE_gcov
+ /*
+ For GCOV build, crashing will prevent the writing of code coverage
+ information from this process, causing gcov output to be incomplete.
+ So we force the writing of coverage information here before terminating.
+ */
+ extern void __gcov_flush(void);
+ __gcov_flush();
+#endif
pthread_kill(pthread_self(), sig);
#if defined(P_MYID) && !defined(SCO)
/* On Solaris, the above kill is not enough */