summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--generic/tclPosixStr.c6
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index fc73113..f5e6f58 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2009-10-21 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclPosixStr.c: [Bug 2882561]: Work around oddity on Haiku OS
+ where SIGSEGV and SIGBUS are the same value.
+
* generic/tclTrace.c (StringTraceProc): [Bug 2881259]: Added back cast
to work around silly bug in MSVC's handling of auto-casting.
diff --git a/generic/tclPosixStr.c b/generic/tclPosixStr.c
index 5c1a1b9..4d7c559 100644
--- a/generic/tclPosixStr.c
+++ b/generic/tclPosixStr.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclPosixStr.c,v 1.15 2009/03/15 15:35:46 dkf Exp $
+ * RCS: @(#) $Id: tclPosixStr.c,v 1.16 2009/10/21 13:53:14 dkf Exp $
*/
#include "tclInt.h"
@@ -994,7 +994,7 @@ Tcl_SignalId(
#ifdef SIGQUIT
case SIGQUIT: return "SIGQUIT";
#endif
-#ifdef SIGSEGV
+#if defined(SIGSEGV) && (!defined(SIGBUS) || (SIGSEGV != SIGBUS))
case SIGSEGV: return "SIGSEGV";
#endif
#ifdef SIGSTOP
@@ -1128,7 +1128,7 @@ Tcl_SignalMsg(
#ifdef SIGQUIT
case SIGQUIT: return "quit signal";
#endif
-#ifdef SIGSEGV
+#if defined(SIGSEGV) && (!defined(SIGBUS) || (SIGSEGV != SIGBUS))
case SIGSEGV: return "segmentation violation";
#endif
#ifdef SIGSTOP