X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=main%2Fbsod.cpp;h=5eb6b129681a0d0801f699dbf51592c85f66b90e;hp=938ddd2bf7adba8457b7472df503e7d8adf30185;hb=7e71f6aaac51880ff1292b4817c0bd883a6196a7;hpb=d4a15713448f51461af9f53093d9173252d06d9f diff --git a/main/bsod.cpp b/main/bsod.cpp index 938ddd2..5eb6b12 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; @@ -132,7 +136,6 @@ void bsodFatal() p.renderText(usable_area, lines.substr(start), gPainter::RT_HALIGN_LEFT); - p.flush(); sleep(10); } @@ -172,7 +175,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(); @@ -191,6 +194,7 @@ void bsodCatchSignals() sigaction(SIGSEGV, &act, 0); sigaction(SIGILL, &act, 0); sigaction(SIGBUS, &act, 0); + sigaction(SIGABRT, &act, 0); } void bsodLogInit()