diff --git a/src/plugins/boot2qt/qdbdevice.cpp b/src/plugins/boot2qt/qdbdevice.cpp index 914626a5df1..9cc4852831f 100644 --- a/src/plugins/boot2qt/qdbdevice.cpp +++ b/src/plugins/boot2qt/qdbdevice.cpp @@ -41,7 +41,11 @@ private: { QTC_ASSERT(controlSignal != ControlSignal::Interrupt, return); QTC_ASSERT(controlSignal != ControlSignal::KickOff, return); - runInShell({Constants::AppcontrollerFilepath, {"--stop"}}); + if (m_setup.m_commandLine.executable().path() == Constants::AppcontrollerFilepath) { + runInShell({Constants::AppcontrollerFilepath, {"--stop"}}); + return; + } + SshProcessInterface::handleSendControlSignal(controlSignal); } }; diff --git a/src/plugins/remotelinux/linuxprocessinterface.h b/src/plugins/remotelinux/linuxprocessinterface.h index 2ef3d5df3aa..d158482f2fd 100644 --- a/src/plugins/remotelinux/linuxprocessinterface.h +++ b/src/plugins/remotelinux/linuxprocessinterface.h @@ -25,9 +25,9 @@ protected: qint64 processId() const; bool runInShell(const Utils::CommandLine &command, const QByteArray &data = {}); -private: virtual void handleSendControlSignal(Utils::ControlSignal controlSignal); +private: void start() final; qint64 write(const QByteArray &data) final; void sendControlSignal(Utils::ControlSignal controlSignal) final;