From e60b6bad9e7339e729a43c2e9d2677e523cde2ba Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 19 Oct 2011 11:52:26 +0200 Subject: [PATCH] debugger: re-enable use of -exec-interrupt Change-Id: I638ba4f866d2dc80a0aa81c718962e9e6ebd2c54 Reviewed-by: Eike Ziller --- .../debugger/gdb/remotegdbserveradapter.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp index 4b7d7321467..f267b7f1dd1 100644 --- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp +++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp @@ -274,14 +274,17 @@ void RemoteGdbServerAdapter::runEngine() void RemoteGdbServerAdapter::interruptInferior() { QTC_ASSERT(state() == InferiorStopRequested, qDebug() << state()); - //m_engine->postCommand("-exec-interrupt", GdbEngine::Immediate, - // CB(handleInterruptInferior)); - bool ok = m_gdbProc.interrupt(); - if (!ok) { - // FIXME: Extra state needed? - m_engine->showMessage(_("NOTE: INFERIOR STOP NOT POSSIBLE")); - m_engine->showStatusMessage(tr("Interrupting not possible")); - m_engine->notifyInferiorRunOk(); + if (debuggerCore()->boolSetting(TargetAsync)) { + m_engine->postCommand("-exec-interrupt", GdbEngine::Immediate, + CB(handleInterruptInferior)); + } else { + bool ok = m_gdbProc.interrupt(); + if (!ok) { + // FIXME: Extra state needed? + m_engine->showMessage(_("NOTE: INFERIOR STOP NOT POSSIBLE")); + m_engine->showStatusMessage(tr("Interrupting not possible")); + m_engine->notifyInferiorRunOk(); + } } }