LinuxDevice: Fix stopping remote app when run in terminal

Before, the SshProcessInterface was trying to run kill
command (on remote host) for the running processId. However,
in case of terminal process the returned processId is an id
of ssh running through creator process stub, not the id of
remote process. The fix is to redirect a call to sendControlSignal
into the internal terminal process.

Change-Id: I57509fd61a54c335ab0a34f8ca0dffb3d75da696
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2022-11-14 15:23:01 +01:00
parent 35a37c3450
commit adac83367c
5 changed files with 22 additions and 7 deletions

View File

@@ -33,7 +33,7 @@ public:
private:
QString fullCommandLine(const CommandLine &commandLine) const final;
void sendControlSignal(Utils::ControlSignal controlSignal) final;
void handleSendControlSignal(Utils::ControlSignal controlSignal) final;
const QString m_pidFile;
};
@@ -71,7 +71,7 @@ QString QnxProcessImpl::fullCommandLine(const CommandLine &commandLine) const
return fullCommandLine;
}
void QnxProcessImpl::sendControlSignal(Utils::ControlSignal controlSignal)
void QnxProcessImpl::handleSendControlSignal(Utils::ControlSignal controlSignal)
{
QTC_ASSERT(controlSignal != ControlSignal::KickOff, return);
const QString args = QString::fromLatin1("-%1 `cat %2`")