diff options
Diffstat (limited to 'lldb/source/Target/Process.cpp')
-rw-r--r-- | lldb/source/Target/Process.cpp | 17 |
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 |