Reworked the way Process::RunThreadPlan and the ThreadPlanCallFunction interoperate to fix problems where
hitting auto-continue signals while running a thread plan would cause us to lose control of the debug 
session.

<rdar://problem/12993641>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174793 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/scripts/Python/interface/SBExpressionOptions.i b/scripts/Python/interface/SBExpressionOptions.i
index 87e3ffe..1f11862 100644
--- a/scripts/Python/interface/SBExpressionOptions.i
+++ b/scripts/Python/interface/SBExpressionOptions.i
@@ -39,7 +39,7 @@
     %feature("docstring", "Sets whether to unwind the expression stack on error.") SetUnwindOnError;
     
     void
-    SetUnwindOnError (bool unwind = false);
+    SetUnwindOnError (bool unwind = true);
     
     bool
     GetIgnoreBreakpoints () const;
@@ -47,7 +47,7 @@
     %feature("docstring", "Sets whether to ignore breakpoint hits while running expressions.") SetUnwindOnError;
     
     void
-    SetIgnoreBreakpoints (bool ignore = false);
+    SetIgnoreBreakpoints (bool ignore = true);
     
     lldb::DynamicValueType
     GetFetchDynamicValue () const;
diff --git a/scripts/Python/interface/SBProcess.i b/scripts/Python/interface/SBProcess.i
index 9303e9f..6f22d9a 100644
--- a/scripts/Python/interface/SBProcess.i
+++ b/scripts/Python/interface/SBProcess.i
@@ -328,6 +328,12 @@
     static bool
     GetRestartedFromEvent (const lldb::SBEvent &event);
 
+    static size_t
+    GetNumRestartedReasonsFromEvent (const lldb::SBEvent &event);
+    
+    static const char *
+    GetRestartedReasonAtIndexFromEvent (const lldb::SBEvent &event, size_t idx);
+
     static lldb::SBProcess
     GetProcessFromEvent (const lldb::SBEvent &event);