error.c: no exit, but callback if shared module

This commit is contained in:
h_vogt 2013-03-23 17:58:11 +01:00 committed by rlar
parent b62b67bf25
commit 3211674b2f
1 changed files with 15 additions and 5 deletions

View File

@ -13,14 +13,15 @@ Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
#include <signal.h>
/* 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
}
@ -62,7 +67,12 @@ fatal(void)
(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
}