summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/Process.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Target/Process.cpp')
-rw-r--r--lldb/source/Target/Process.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index 26f35460842..f91c6194ea5 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -414,13 +414,18 @@ Process::GetExitDescription ()
void
Process::SetExitStatus (int status, const char *cstr)
{
- m_exit_status = status;
- if (cstr)
- m_exit_string = cstr;
- else
- m_exit_string.clear();
+ if (m_private_state.GetValue() != eStateExited)
+ {
+ m_exit_status = status;
+ if (cstr)
+ m_exit_string = cstr;
+ else
+ m_exit_string.clear();
- SetPrivateState (eStateExited);
+ DidExit ();
+
+ SetPrivateState (eStateExited);
+ }
}
// This static callback can be used to watch for local child processes on
OpenPOWER on IntegriCloud