From 8802a351978129fb686ef18982430a0c366fb06a Mon Sep 17 00:00:00 2001 From: nijtmans Date: Wed, 15 Dec 2010 14:03:51 +0000 Subject: Restore abort() in Tcl_Panic() as it was before. [Patch 3124554] use ExitProcess() here, like in wish. --- ChangeLog | 8 ++++++-- generic/tclPanic.c | 13 +------------ win/tclWinFile.c | 11 +++++++++-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index d8ac2e7..bb01061 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2010-12-14 Jan Nijtmans + * generic/tclPanic.c: Restore abort() as it was before. + * win/tclWinFile.c: [Patch 3124554] use ExitProcess() here, like + in wish. + +2010-12-14 Jan Nijtmans + * generic/tcl.h: [Bug 3137454]: Tcl CVS HEAD does not build on GCC 3 2010-12-14 Reinhard Max @@ -15,8 +21,6 @@ * generic/tcl.h: [Bug 3135271] Link error due to hidden * unix/tcl.m4: symbols (CentOS 4.2) * unix/configure: (autoconf-2.59) - * win/tclPanic.c: Use gcc's __builtin_trap(), when available, - to enter the debugger after a panic. * win/tclWinFile.c: Undocumented feature, only meant to be used by Tk_Main. See [Patch 3124554]: Move WishPanic from Tk to Tcl diff --git a/generic/tclPanic.c b/generic/tclPanic.c index 73059a0..d5d6142 100644 --- a/generic/tclPanic.c +++ b/generic/tclPanic.c @@ -12,11 +12,10 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclPanic.c,v 1.16 2010/12/13 13:57:58 nijtmans Exp $ + * RCS: @(#) $Id: tclPanic.c,v 1.17 2010/12/15 14:03:52 nijtmans Exp $ */ #include "tclInt.h" -#undef Tcl_Panic /* * The panicProc variable contains a pointer to an application specific panic @@ -92,17 +91,7 @@ Tcl_PanicVA( fflush(stderr); } /* In case the users panic proc does not abort, we do it here */ -#ifdef __GNUC__ - __builtin_trap(); -#endif -#ifdef _WIN32 -# ifdef _MSC_VER - DebugBreak(); -# endif - ExitProcess(1); -#else abort(); -#endif } /* diff --git a/win/tclWinFile.c b/win/tclWinFile.c index 0cd5f94..48ce2d0 100644 --- a/win/tclWinFile.c +++ b/win/tclWinFile.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinFile.c,v 1.117 2010/12/13 13:57:58 nijtmans Exp $ + * RCS: @(#) $Id: tclWinFile.c,v 1.118 2010/12/15 14:03:52 nijtmans Exp $ */ #include "tclWinInt.h" @@ -823,7 +823,14 @@ PanicMessageBox( MessageBeep(MB_ICONEXCLAMATION); MessageBoxW(NULL, msgString, L"Fatal Error", MB_ICONSTOP | MB_OK | MB_TASKMODAL | MB_SETFOREGROUND); - /* We don't need to abort here, because our caller already does. */ + /* try to trigger the debugger */ +# ifdef __GNUC__ + __builtin_trap(); +# endif +# ifdef _MSC_VER + DebugBreak(); +# endif + ExitProcess(1); } /* -- cgit v0.12