From b8f475bea8b67c58f3c8da56ffd0d476d1bc9fba Mon Sep 17 00:00:00 2001 From: h_vogt Date: Sat, 23 Mar 2013 17:58:11 +0100 Subject: [PATCH] error.c: no exit, but callback if shared module --- src/frontend/error.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/frontend/error.c b/src/frontend/error.c index a69d62cd8..2af1529eb 100644 --- a/src/frontend/error.c +++ b/src/frontend/error.c @@ -13,14 +13,15 @@ Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group #include -/* global error message buffer */ -char ErrorMessage[1024]; - - #ifdef HAS_WINGUI void winmessage(char *new_msg); +#elif defined (SHARED_MODULE) +extern void shared_exit(int status); #endif +/* global error message buffer */ +char ErrorMessage[1024]; + void controlled_exit(int status) @@ -28,11 +29,15 @@ controlled_exit(int status) #ifdef HAS_WINGUI if (status) winmessage("Fatal error in NGSPICE"); + exit(status); +#elif defined (SHARED_MODULE) + /* do not exit, if shared ngspice, but call back */ + shared_exit(status); #else if (status) fprintf(stderr, "\nERROR: fatal error in ngspice, exit(%d)\n", status); -#endif exit(status); +#endif } @@ -61,8 +66,12 @@ fatal(void) (void) signal(SIGQUIT, SIG_DFL); (void) kill(getpid(), SIGQUIT); #endif - +#if defined (SHARED_MODULE) + /* do not exit, if shared ngspice, but call back */ + shared_exit(EXIT_BAD); +#else exit(EXIT_BAD); +#endif }