X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d452521070295fc71477c72f47456f07184ea751..c862e78892bcf02650d3a490f274fb067a964872:/main/bsod.cpp diff --git a/main/bsod.cpp b/main/bsod.cpp index f08c6f34..b273eacf 100644 --- a/main/bsod.cpp +++ b/main/bsod.cpp @@ -86,6 +86,10 @@ void bsodFatal() std::string buffer = getLogBuffer(); fwrite(buffer.c_str(), buffer.size(), 1, f); fclose(f); + + char cmd[256]; + sprintf(cmd, "find /usr/lib/enigma2/python/ -name \"*.py\" | xargs md5sum >> %s", logfile); + system(cmd); } ePtr my_dc; @@ -164,7 +168,6 @@ void oops(const mcontext_t &context, int dumpcode) } #else #warning "no oops support!" -#error bla #define NO_OOPS_SUPPORT #endif @@ -173,7 +176,7 @@ void handleFatalSignal(int signum, siginfo_t *si, void *ctx) ucontext_t *uc = (ucontext_t*)ctx; eDebug("KILLED BY signal %d", signum); #ifndef NO_OOPS_SUPPORT - oops(uc->uc_mcontext, signum == SIGSEGV); + oops(uc->uc_mcontext, signum == SIGSEGV || signum == SIGABRT); #endif eDebug("-------"); bsodFatal(); @@ -192,6 +195,7 @@ void bsodCatchSignals() sigaction(SIGSEGV, &act, 0); sigaction(SIGILL, &act, 0); sigaction(SIGBUS, &act, 0); + sigaction(SIGABRT, &act, 0); } void bsodLogInit()