Browse Source

Prevent crash when ControlledExit* is not initialized

in ngspice shared library.
pre-master-46
Holger Vogt 3 years ago
parent
commit
87f0db6f50
  1. 6
      src/sharedspice.c

6
src/sharedspice.c

@ -2033,7 +2033,8 @@ ATTRIBUTE_NORETURN void shared_exit(int status)
fl_exited = TRUE; fl_exited = TRUE;
bgtr(fl_exited, ng_ident, userptr); bgtr(fl_exited, ng_ident, userptr);
// set a flag that ngspice wants to be detached // set a flag that ngspice wants to be detached
ngexit(status, FALSE, coquit, ng_ident, userptr);
if(ngexit)
ngexit(status, FALSE, coquit, ng_ident, userptr);
// finish and exit the worker thread // finish and exit the worker thread
#ifdef HAVE_LIBPTHREAD #ifdef HAVE_LIBPTHREAD
pthread_exit(NULL); pthread_exit(NULL);
@ -2042,7 +2043,8 @@ ATTRIBUTE_NORETURN void shared_exit(int status)
#endif #endif
} }
// set a flag in caller to detach ngspice.dll // set a flag in caller to detach ngspice.dll
ngexit(status, immediate, coquit, ng_ident, userptr);
if(ngexit)
ngexit(status, immediate, coquit, ng_ident, userptr);
// jump back to finish the calling function // jump back to finish the calling function
if (!intermj) if (!intermj)

Loading…
Cancel
Save