Change the default signal setting for SIBABRT to SUPPRESS the signal. Why?
When debugging, if an expression hits a SIGABRT, it the expression ends up
completing and stopping due the the "SIGABRT". Then the next thing that runs
(another expression, or continuing the program) ends up progating the SIGABRT
and causing the parent processes to die.
We should probably think of a different solution where we suppress any signal
that resulted due to an expression, or we modifyin the UnixSignals class to
contain a row for "suppress for expression".
So the settings for SIGABRT are: suppress = true, stop = true, and
notify = true.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123157 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Target/UnixSignals.cpp b/source/Target/UnixSignals.cpp
index de3dfec..0ee149f 100644
--- a/source/Target/UnixSignals.cpp
+++ b/source/Target/UnixSignals.cpp
@@ -66,7 +66,7 @@
AddSignal (3, "SIGQUIT", "QUIT", false, true, true, "quit");
AddSignal (4, "SIGILL", "ILL", false, true, true, "illegal instruction");
AddSignal (5, "SIGTRAP", "TRAP", true, true, true, "trace trap (not reset when caught)");
- AddSignal (6, "SIGABRT", "ABRT", false, true, true, "abort()");
+ AddSignal (6, "SIGABRT", "ABRT", true, true, true, "abort()");
AddSignal (7, "SIGEMT", "EMT", false, true, true, "pollable event");
AddSignal (8, "SIGFPE", "FPE", false, true, true, "floating point exception");
AddSignal (9, "SIGKILL", "KILL", false, true, true, "kill");