From dfdd5d3483d92d8506b13a53ec518407d06b9e73 Mon Sep 17 00:00:00 2001 From: jonathanosx Date: Mon, 8 Feb 2010 17:15:57 +0000 Subject: [PATCH] Removed redundant call to _NSFoundationUncaughtExceptionHandler and added else blocks to allow a set uncaught exception handler to NOT exit if capable of recovering. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29511 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 +++++ Source/NSException.m | 15 +++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5b07fc379..209e8b8af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-02-08 Jonathan Gillaspie + * Source/NSException.m + * Removed redundant call to _NSFoundationUncaughtExceptionHandler and added else blocks + to allow a set uncaught exception handler to NOT exit if capable of recovering. + 2010-02-08 Richard Frith-Macdonald * Headers/Foundation/NSOperation.h: diff --git a/Source/NSException.m b/Source/NSException.m index 7576c6282..c5bae9647 100644 --- a/Source/NSException.m +++ b/Source/NSException.m @@ -774,7 +774,9 @@ callUncaughtHandler(id value) { (*_NSUncaughtExceptionHandler)(value); } - _NSFoundationUncaughtExceptionHandler(value); + else { + _NSFoundationUncaughtExceptionHandler(value); + } } @implementation NSException @@ -928,12 +930,13 @@ callUncaughtHandler(id value) * behavior of MacOS-X). * The standard handler is guaranteed to exit/abort. */ - _NSFoundationUncaughtExceptionHandler(self); + //_NSFoundationUncaughtExceptionHandler(self); } - - thread->_exception_handler = handler->next; - handler->exception = self; - longjmp(handler->jumpState, 1); + else { + thread->_exception_handler = handler->next; + handler->exception = self; + longjmp(handler->jumpState, 1); + } #endif }