summaryrefslogtreecommitdiff
path: root/include/my_dbug.h
diff options
context:
space:
mode:
authorTor Didriksen <tor.didriksen@oracle.com>2010-12-13 12:19:30 +0100
committerTor Didriksen <tor.didriksen@oracle.com>2010-12-13 12:19:30 +0100
commit0611bf22031283a6b459223eec199f0c0c7ae606 (patch)
treecaa89834fdf3ced0f320f17115472e03e2a68e0d /include/my_dbug.h
parent6330815a0ce15311cb90781d633b4c8cdfd34834 (diff)
downloadmariadb-git-0611bf22031283a6b459223eec199f0c0c7ae606.tar.gz
Bug #58426 Crashing tests not failing as they are supposed to on Solaris 10 debug
On this platform we seem to get lots of other signals while waiting for SIGKILL to be delivered. Solution: use sigsuspend(<all signals blocked>) dbug/dbug.c: New function _db_suicide_() which does kill(myself, -9) and then waits forever. include/my_dbug.h: Let DBUG_SUICE wait forever until the KILL signal is delivered, and process dies.
Diffstat (limited to 'include/my_dbug.h')
-rw-r--r--include/my_dbug.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/my_dbug.h b/include/my_dbug.h
index f08e94a1882..1ae9a50c76d 100644
--- a/include/my_dbug.h
+++ b/include/my_dbug.h
@@ -160,7 +160,8 @@ extern void _db_flush_();
#ifdef __WIN__
#define DBUG_SUICIDE() DBUG_ABORT()
#else
-#define DBUG_SUICIDE() (_db_flush_(), kill(getpid(), SIGKILL), pause())
+extern void _db_suicide_();
+#define DBUG_SUICIDE() (_db_flush_(), _db_suicide_())
#endif
#else /* No debugger */