#21 force debug info to stderr, fix segfault on exit

pull/32/head
Geoffrey Merck 4 years ago
parent 00a2301ef6
commit 635e629988

@ -142,8 +142,6 @@ m_thread(NULL)
CDStarGatewayApp::~CDStarGatewayApp() CDStarGatewayApp::~CDStarGatewayApp()
{ {
delete m_config;
delete m_thread;
} }
bool CDStarGatewayApp::init() bool CDStarGatewayApp::init()
@ -326,12 +324,14 @@ void CDStarGatewayApp::sigHandler(int sig)
void CDStarGatewayApp::sigHandlerFatal(int sig) void CDStarGatewayApp::sigHandlerFatal(int sig)
{ {
CLog::logFatal("Caught signal : %s", strsignal(sig)); CLog::logFatal("Caught signal : %s", strsignal(sig));
fprintf(stderr, "Caught signal : %s\n", strsignal(sig));
#ifdef DEBUG_DSTARGW #ifdef DEBUG_DSTARGW
std::stringstream stackTrace; std::stringstream stackTrace;
stackTrace << boost::stacktrace::stacktrace(); stackTrace << boost::stacktrace::stacktrace();
CLog::logFatal("Stack Trace : \n%s", stackTrace.str().c_str()); CLog::logFatal("Stack Trace : \n%s", stackTrace.str().c_str());
fprintf(stderr, "Stack Trace : \n%s\n", stackTrace.str().c_str());
#endif #endif
exit(1); exit(3);
} }
void CDStarGatewayApp::terminateHandler() void CDStarGatewayApp::terminateHandler()
@ -350,13 +350,15 @@ void CDStarGatewayApp::terminateHandler()
} }
else { else {
CLog::logFatal("Unhandled unknown exception occured"); CLog::logFatal("Unhandled unknown exception occured");
fprintf(stderr, "Unknown ex\n");
} }
} catch(const std::exception& e) { } catch(const std::exception& e) {
CLog::logFatal("Unhandled exception occured %s", e.what()); CLog::logFatal("Unhandled exception occured %s", e.what());
fprintf(stderr, "Unhandled ex %s\n", e.what());
} }
#ifdef DEBUG_DSTARGW #ifdef DEBUG_DSTARGW
CLog::logFatal("Stack Trace : \n%s", stackTrace.str().c_str()); CLog::logFatal("Stack Trace : \n%s", stackTrace.str().c_str());
#endif #endif
exit(1); exit(2);
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.