diff options
-rw-r--r-- | src/hooks/abrt-hook-ccpp.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c index 84bbf4fa..e2c1b373 100644 --- a/src/hooks/abrt-hook-ccpp.c +++ b/src/hooks/abrt-hook-ccpp.c @@ -420,7 +420,7 @@ int main(int argc, char** argv) /* Open a fd to compat coredump, if requested and is possible */ int user_core_fd = -1; if (setting_MakeCompatCore && ulimit_c != 0) - /* note: checks "user_pwd == NULL" inside, updates core_basename */ + /* note: checks "user_pwd == NULL" inside; updates core_basename */ user_core_fd = open_user_core(user_pwd, uid, pid, &argv[2]); if (executable == NULL) @@ -431,7 +431,6 @@ int main(int argc, char** argv) } const char *signame = NULL; - /* Tried to use array for this but C++ does not support v[] = { [IDX] = "str" } */ switch (signal_no) { case SIGILL : signame = "ILL" ; break; @@ -439,9 +438,12 @@ int main(int argc, char** argv) case SIGSEGV: signame = "SEGV"; break; case SIGBUS : signame = "BUS" ; break; //Bus error (bad memory access) case SIGABRT: signame = "ABRT"; break; //usually when abort() was called + // We have real-world reports from users who see buggy programs + // dying with SIGTRAP, uncommented it too: + case SIGTRAP: signame = "TRAP"; break; //Trace/breakpoint trap + // These usually aren't caused by bugs: //case SIGQUIT: signame = "QUIT"; break; //Quit from keyboard //case SIGSYS : signame = "SYS" ; break; //Bad argument to routine (SVr4) - //case SIGTRAP: signame = "TRAP"; break; //Trace/breakpoint trap //case SIGXCPU: signame = "XCPU"; break; //CPU time limit exceeded (4.2BSD) //case SIGXFSZ: signame = "XFSZ"; break; //File size limit exceeded (4.2BSD) default: goto create_user_core; // not a signal we care about |