diff --git a/src/libs/utils/terminalinterface.cpp b/src/libs/utils/terminalinterface.cpp index fc69451c9c0..204cd79d7a1 100644 --- a/src/libs/utils/terminalinterface.cpp +++ b/src/libs/utils/terminalinterface.cpp @@ -280,8 +280,10 @@ void TerminalInterface::sendCommand(char c) void TerminalInterface::killInferiorProcess() { sendCommand('k'); - if (d->stubSocket) + if (d->stubSocket) { d->stubSocket->waitForReadyRead(); + emitFinished(-1, QProcess::CrashExit); + } } void TerminalInterface::killStubProcess() diff --git a/src/tools/process_stub/main.cpp b/src/tools/process_stub/main.cpp index bfb6f6c3211..00312b833f6 100644 --- a/src/tools/process_stub/main.cpp +++ b/src/tools/process_stub/main.cpp @@ -185,7 +185,7 @@ void doExit(int exitCode) std::cout << commandLineParser.value("wait").toStdString() << std::endl; waitingForExitKeyPress = true; - onKeyPress([exitCode] { doExit(exitCode); }); + onKeyPress([] { doExit(0); }); } else { exit(exitCode); } @@ -206,9 +206,7 @@ void onInferiorFinished(int exitCode, QProcess::ExitStatus status) void onInferiorErrorOccurered(QProcess::ProcessError error) { - qCInfo(log) << "Inferior error: " << error << inferiorProcess.errorString(); - sendCrash(inferiorProcess.exitCode()); - doExit(1); + qCWarning(log) << "Inferior error: " << error << inferiorProcess.errorString(); } void onInferiorStarted()