summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/tools/lldb/source/Commands/CommandObjectQuit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Commands/CommandObjectQuit.cpp')
-rw-r--r--contrib/llvm/tools/lldb/source/Commands/CommandObjectQuit.cpp111
1 files changed, 49 insertions, 62 deletions
diff --git a/contrib/llvm/tools/lldb/source/Commands/CommandObjectQuit.cpp b/contrib/llvm/tools/lldb/source/Commands/CommandObjectQuit.cpp
index a650398..be55dab 100644
--- a/contrib/llvm/tools/lldb/source/Commands/CommandObjectQuit.cpp
+++ b/contrib/llvm/tools/lldb/source/Commands/CommandObjectQuit.cpp
@@ -25,75 +25,62 @@ using namespace lldb_private;
//-------------------------------------------------------------------------
CommandObjectQuit::CommandObjectQuit(CommandInterpreter &interpreter)
- : CommandObjectParsed(interpreter, "quit", "Quit the LLDB debugger.", "quit")
-{
-}
+ : CommandObjectParsed(interpreter, "quit", "Quit the LLDB debugger.",
+ "quit") {}
-CommandObjectQuit::~CommandObjectQuit ()
-{
-}
+CommandObjectQuit::~CommandObjectQuit() {}
// returns true if there is at least one alive process
-// is_a_detach will be true if all alive processes will be detached when you quit
+// is_a_detach will be true if all alive processes will be detached when you
+// quit
// and false if at least one process will be killed instead
-bool
-CommandObjectQuit::ShouldAskForConfirmation (bool& is_a_detach)
-{
- if (m_interpreter.GetPromptOnQuit() == false)
- return false;
- bool should_prompt = false;
- is_a_detach = true;
- for (uint32_t debugger_idx = 0;
- debugger_idx < Debugger::GetNumDebuggers();
- debugger_idx++)
- {
- DebuggerSP debugger_sp(Debugger::GetDebuggerAtIndex(debugger_idx));
- if (!debugger_sp)
- continue;
- const TargetList& target_list(debugger_sp->GetTargetList());
- for (uint32_t target_idx = 0;
- target_idx < static_cast<uint32_t>(target_list.GetNumTargets());
- target_idx++)
- {
- TargetSP target_sp(target_list.GetTargetAtIndex(target_idx));
- if (!target_sp)
- continue;
- ProcessSP process_sp(target_sp->GetProcessSP());
- if (process_sp
- && process_sp->IsValid()
- && process_sp->IsAlive()
- && process_sp->WarnBeforeDetach())
- {
- should_prompt = true;
- if (process_sp->GetShouldDetach() == false)
- {
- // if we need to kill at least one process, just say so and return
- is_a_detach = false;
- return should_prompt;
- }
- }
+bool CommandObjectQuit::ShouldAskForConfirmation(bool &is_a_detach) {
+ if (m_interpreter.GetPromptOnQuit() == false)
+ return false;
+ bool should_prompt = false;
+ is_a_detach = true;
+ for (uint32_t debugger_idx = 0; debugger_idx < Debugger::GetNumDebuggers();
+ debugger_idx++) {
+ DebuggerSP debugger_sp(Debugger::GetDebuggerAtIndex(debugger_idx));
+ if (!debugger_sp)
+ continue;
+ const TargetList &target_list(debugger_sp->GetTargetList());
+ for (uint32_t target_idx = 0;
+ target_idx < static_cast<uint32_t>(target_list.GetNumTargets());
+ target_idx++) {
+ TargetSP target_sp(target_list.GetTargetAtIndex(target_idx));
+ if (!target_sp)
+ continue;
+ ProcessSP process_sp(target_sp->GetProcessSP());
+ if (process_sp && process_sp->IsValid() && process_sp->IsAlive() &&
+ process_sp->WarnBeforeDetach()) {
+ should_prompt = true;
+ if (process_sp->GetShouldDetach() == false) {
+ // if we need to kill at least one process, just say so and return
+ is_a_detach = false;
+ return should_prompt;
}
+ }
}
- return should_prompt;
+ }
+ return should_prompt;
}
-bool
-CommandObjectQuit::DoExecute (Args& command, CommandReturnObject &result)
-{
- bool is_a_detach = true;
- if (ShouldAskForConfirmation (is_a_detach))
- {
- StreamString message;
- message.Printf("Quitting LLDB will %s one or more processes. Do you really want to proceed", (is_a_detach ? "detach from" : "kill"));
- if (!m_interpreter.Confirm(message.GetData(), true))
- {
- result.SetStatus(eReturnStatusFailed);
- return false;
- }
+bool CommandObjectQuit::DoExecute(Args &command, CommandReturnObject &result) {
+ bool is_a_detach = true;
+ if (ShouldAskForConfirmation(is_a_detach)) {
+ StreamString message;
+ message.Printf("Quitting LLDB will %s one or more processes. Do you really "
+ "want to proceed",
+ (is_a_detach ? "detach from" : "kill"));
+ if (!m_interpreter.Confirm(message.GetString(), true)) {
+ result.SetStatus(eReturnStatusFailed);
+ return false;
}
- const uint32_t event_type = CommandInterpreter::eBroadcastBitQuitCommandReceived;
- m_interpreter.BroadcastEvent (event_type);
- result.SetStatus (eReturnStatusQuit);
- return true;
+ }
+ const uint32_t event_type =
+ CommandInterpreter::eBroadcastBitQuitCommandReceived;
+ m_interpreter.BroadcastEvent(event_type);
+ result.SetStatus(eReturnStatusQuit);
+ return true;
}
-
OpenPOWER on IntegriCloud