diff options
author | hjk <hjk@qt.io> | 2022-06-16 10:17:33 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2022-06-16 08:26:10 +0000 |
commit | 152b14207ce264222557665c568907931e9277d8 (patch) | |
tree | bbebe25943bab6fdc39d3e661b70febda4d79ea5 /src | |
parent | bfad59ade006fd704439c229bbb37ffc560cd243 (diff) | |
download | qt-creator-152b14207ce264222557665c568907931e9277d8.tar.gz |
Replace QtcProcess::stopProcess() by stop() plus waitForFinished
... or nothing, if the process object is destroyed immediately.
Change-Id: I6a1e1928bc49fc20a1c0e0ee9b8f4f723276bbca
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/utils/shellcommand.cpp | 5 | ||||
-rw-r--r-- | src/plugins/android/androidqmlpreviewworker.cpp | 3 | ||||
-rw-r--r-- | src/plugins/android/androidsdkmanager.cpp | 12 | ||||
-rw-r--r-- | src/plugins/clangtools/clangtoolrunner.cpp | 3 | ||||
-rw-r--r-- | src/plugins/coreplugin/patchtool.cpp | 3 | ||||
-rw-r--r-- | src/plugins/git/gerrit/gerritmodel.cpp | 3 | ||||
-rw-r--r-- | src/plugins/git/gerrit/gerritplugin.cpp | 3 | ||||
-rw-r--r-- | src/plugins/gitlab/queryrunner.cpp | 3 | ||||
-rw-r--r-- | src/plugins/languageclient/languageclientinterface.cpp | 4 | ||||
-rw-r--r-- | src/plugins/perforce/perforcechecker.cpp | 3 | ||||
-rw-r--r-- | src/plugins/perforce/perforceplugin.cpp | 3 | ||||
-rw-r--r-- | src/plugins/projectexplorer/runcontrol.cpp | 3 | ||||
-rw-r--r-- | src/plugins/python/pipsupport.cpp | 3 | ||||
-rw-r--r-- | src/plugins/qmldesigner/generateresource.cpp | 3 | ||||
-rw-r--r-- | src/plugins/qnx/qnxutils.cpp | 4 | ||||
-rw-r--r-- | src/plugins/qtsupport/baseqtversion.cpp | 1 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsbasesubmiteditor.cpp | 1 |
17 files changed, 34 insertions, 26 deletions
diff --git a/src/libs/utils/shellcommand.cpp b/src/libs/utils/shellcommand.cpp index 00f655a1ef..6f8a49de01 100644 --- a/src/libs/utils/shellcommand.cpp +++ b/src/libs/utils/shellcommand.cpp @@ -368,7 +368,10 @@ void ShellCommand::runFullySynchronous(QtcProcess &process, const FilePath &work void ShellCommand::runSynchronous(QtcProcess &process, const FilePath &workingDirectory) { - connect(this, &ShellCommand::terminate, &process, &QtcProcess::stopProcess); + connect(this, &ShellCommand::terminate, &process, [&process] { + process.stop(); + process.waitForFinished(); + }); process.setEnvironment(processEnvironment()); if (d->m_codec) process.setCodec(d->m_codec); diff --git a/src/plugins/android/androidqmlpreviewworker.cpp b/src/plugins/android/androidqmlpreviewworker.cpp index 103e7b2e5c..6c78c562d1 100644 --- a/src/plugins/android/androidqmlpreviewworker.cpp +++ b/src/plugins/android/androidqmlpreviewworker.cpp @@ -363,7 +363,8 @@ FilePath AndroidQmlPreviewWorker::createQmlrcFile(const FilePath &workFolder, QByteArray stdOut; QByteArray stdErr; if (!rccProcess.readDataFromProcess(30, &stdOut, &stdErr, true)) { - rccProcess.stopProcess(); + rccProcess.stop(); + rccProcess.waitForFinished(); appendMessage(tr("A timeout occurred running \"%1\""). arg(rccProcess.commandLine().toUserOutput()), StdErrFormat); qrcPath.removeFile(); diff --git a/src/plugins/android/androidsdkmanager.cpp b/src/plugins/android/androidsdkmanager.cpp index d238e60ef3..628f245c34 100644 --- a/src/plugins/android/androidsdkmanager.cpp +++ b/src/plugins/android/androidsdkmanager.cpp @@ -166,8 +166,10 @@ static void sdkManagerCommand(const AndroidConfig &config, const QStringList &ar proc.setTimeoutS(timeout); proc.setStdOutCallback([offset, progressQuota, &proc, &assertionFound, &fi](const QString &out) { int progressPercent = parseProgress(out, assertionFound); - if (assertionFound) - proc.stopProcess(); + if (assertionFound) { + proc.stop(); + proc.waitForFinished(); + } if (progressPercent != -1) fi.setProgressValue(offset + qRound((progressPercent / 100.0) * progressQuota)); }); @@ -175,8 +177,10 @@ static void sdkManagerCommand(const AndroidConfig &config, const QStringList &ar output.stdError = err; }); if (interruptible) { - QObject::connect(&sdkManager, &AndroidSdkManager::cancelActiveOperations, - &proc, &QtcProcess::stopProcess); + QObject::connect(&sdkManager, &AndroidSdkManager::cancelActiveOperations, &proc, [&proc] { + proc.stop(); + proc.waitForFinished(); + }); } proc.setCommand({config.sdkManagerToolPath(), newArgs}); proc.runBlocking(EventLoopMode::On); diff --git a/src/plugins/clangtools/clangtoolrunner.cpp b/src/plugins/clangtools/clangtoolrunner.cpp index c970028709..ab5ef38989 100644 --- a/src/plugins/clangtools/clangtoolrunner.cpp +++ b/src/plugins/clangtools/clangtoolrunner.cpp @@ -71,7 +71,8 @@ ClangToolRunner::~ClangToolRunner() m_process->kill(); m_process->waitForFinished(100); } else { - m_process->stopProcess(); + m_process->stop(); + m_process->waitForFinished(); } } diff --git a/src/plugins/coreplugin/patchtool.cpp b/src/plugins/coreplugin/patchtool.cpp index f49185ea0e..d26fcba6c0 100644 --- a/src/plugins/coreplugin/patchtool.cpp +++ b/src/plugins/coreplugin/patchtool.cpp @@ -112,7 +112,8 @@ static bool runPatchHelper(const QByteArray &input, const FilePath &workingDirec QByteArray stdOut; QByteArray stdErr; if (!patchProcess.readDataFromProcess(30, &stdOut, &stdErr, true)) { - patchProcess.stopProcess(); + patchProcess.stop(); + patchProcess.waitForFinished(); MessageManager::writeFlashing( QApplication::translate("Core::PatchTool", "A timeout occurred running \"%1\"") .arg(patch.toUserOutput())); diff --git a/src/plugins/git/gerrit/gerritmodel.cpp b/src/plugins/git/gerrit/gerritmodel.cpp index 8f1f990cbb..9c835c98a5 100644 --- a/src/plugins/git/gerrit/gerritmodel.cpp +++ b/src/plugins/git/gerrit/gerritmodel.cpp @@ -335,7 +335,8 @@ void QueryContext::errorTermination(const QString &msg) void QueryContext::terminate() { - m_process.stopProcess(); + m_process.stop(); + m_process.waitForFinished(); } void QueryContext::processDone() diff --git a/src/plugins/git/gerrit/gerritplugin.cpp b/src/plugins/git/gerrit/gerritplugin.cpp index f13c8b8c2a..b68aa56c7b 100644 --- a/src/plugins/git/gerrit/gerritplugin.cpp +++ b/src/plugins/git/gerrit/gerritplugin.cpp @@ -259,7 +259,8 @@ void FetchContext::checkout() void FetchContext::terminate() { - m_process.stopProcess(); + m_process.stop(); + m_process.waitForFinished(); } diff --git a/src/plugins/gitlab/queryrunner.cpp b/src/plugins/gitlab/queryrunner.cpp index 0e54a99a09..fe46db842e 100644 --- a/src/plugins/gitlab/queryrunner.cpp +++ b/src/plugins/gitlab/queryrunner.cpp @@ -137,7 +137,8 @@ void QueryRunner::start() void QueryRunner::terminate() { - m_process.stopProcess(); + m_process.stop(); + m_process.waitForFinished(); } void QueryRunner::errorTermination(const QString &msg) diff --git a/src/plugins/languageclient/languageclientinterface.cpp b/src/plugins/languageclient/languageclientinterface.cpp index 49d0699a66..5b7431cda0 100644 --- a/src/plugins/languageclient/languageclientinterface.cpp +++ b/src/plugins/languageclient/languageclientinterface.cpp @@ -105,15 +105,13 @@ StdIOClientInterface::StdIOClientInterface() StdIOClientInterface::~StdIOClientInterface() { - if (m_process) - m_process->stopProcess(); delete m_process; } void StdIOClientInterface::startImpl() { if (m_process) { - QTC_ASSERT(!m_process->isRunning(), m_process->stopProcess() ); + QTC_CHECK(!m_process->isRunning()); delete m_process; } m_process = new Utils::QtcProcess; diff --git a/src/plugins/perforce/perforcechecker.cpp b/src/plugins/perforce/perforcechecker.cpp index 2e53d1e538..3dc7f73d50 100644 --- a/src/plugins/perforce/perforcechecker.cpp +++ b/src/plugins/perforce/perforcechecker.cpp @@ -107,7 +107,8 @@ void PerforceChecker::slotTimeOut() if (!isRunning()) return; m_timedOut = true; - m_process.stopProcess(); + m_process.stop(); + m_process.waitForFinished(); emitFailed(tr("\"%1\" timed out after %2 ms.").arg(m_binary.toUserOutput()).arg(m_timeOutMS)); } diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index b415b21967..4c7039d260 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -1329,7 +1329,8 @@ PerforceResponse PerforcePluginPrivate::fullySynchronousProcess(const FilePath & QByteArray stdErr; const int timeOutS = (flags & LongTimeOut) ? m_settings.longTimeOutS() : m_settings.timeOutS.value(); if (!process.readDataFromProcess(timeOutS, &stdOut, &stdErr, true)) { - process.stopProcess(); + process.stop(); + process.waitForFinished(); response.error = true; response.message = msgTimeout(timeOutS); return response; diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index bd7714546a..53bcd28d10 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -1336,7 +1336,8 @@ void SimpleTargetRunnerPrivate::stop() if (m_isLocal) { if (!isRunning()) return; - m_process.stopProcess(); + m_process.stop(); + m_process.waitForFinished(); QTimer::singleShot(100, this, [this] { forwardDone(); }); } else { if (m_stopRequested) diff --git a/src/plugins/python/pipsupport.cpp b/src/plugins/python/pipsupport.cpp index c354ebb4e1..44ee82727c 100644 --- a/src/plugins/python/pipsupport.cpp +++ b/src/plugins/python/pipsupport.cpp @@ -95,7 +95,8 @@ void PipInstallTask::run() void PipInstallTask::cancel() { - m_process.stopProcess(); + m_process.stop(); + m_process.waitForFinished(); Core::MessageManager::writeFlashing( tr("The %1 installation was canceled by %2.") .arg(m_package.displayName, m_killTimer.isActive() ? tr("user") : tr("time out"))); diff --git a/src/plugins/qmldesigner/generateresource.cpp b/src/plugins/qmldesigner/generateresource.cpp index 7210a14471..b85370f60f 100644 --- a/src/plugins/qmldesigner/generateresource.cpp +++ b/src/plugins/qmldesigner/generateresource.cpp @@ -255,7 +255,6 @@ void GenerateResource::generateMenuEntry() QByteArray stdOut; QByteArray stdErr; if (!rccProcess.readDataFromProcess(30, &stdOut, &stdErr, true)) { - rccProcess.stopProcess(); Core::MessageManager::writeDisrupting( QCoreApplication::translate("QmlDesigner::GenerateResource", "A timeout occurred running \"%1\"") @@ -415,7 +414,6 @@ void GenerateResource::generateMenuEntry() QByteArray stdOut; QByteArray stdErr; if (!rccProcess.readDataFromProcess(30, &stdOut, &stdErr, true)) { - rccProcess.stopProcess(); Core::MessageManager::writeDisrupting( QCoreApplication::translate("QmlDesigner::GenerateResource", "A timeout occurred running \"%1\"") @@ -545,7 +543,6 @@ void GenerateResource::generateMenuEntry() QByteArray stdOut; QByteArray stdErr; if (!rccProcess.readDataFromProcess(30, &stdOut, &stdErr, true)) { - rccProcess.stopProcess(); Core::MessageManager::writeDisrupting( QCoreApplication::translate("QmlDesigner::GenerateResource", "A timeout occurred running \"%1\"") diff --git a/src/plugins/qnx/qnxutils.cpp b/src/plugins/qnx/qnxutils.cpp index 6639f77205..e46b5cec8e 100644 --- a/src/plugins/qnx/qnxutils.cpp +++ b/src/plugins/qnx/qnxutils.cpp @@ -118,10 +118,8 @@ EnvironmentItems QnxUtils::qnxEnvironmentFromEnvFile(const FilePath &filePath) QApplication::setOverrideCursor(Qt::BusyCursor); bool waitResult = process.waitForFinished(10000); QApplication::restoreOverrideCursor(); - if (!waitResult) { - process.stopProcess(); + if (!waitResult) return items; - } if (process.result() != ProcessResult::FinishedWithSuccess) return items; diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index ea74600c52..4298c74590 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -1809,7 +1809,6 @@ static QByteArray runQmakeQuery(const FilePath &binary, const Environment &env, return {}; } if (!process.waitForFinished(timeOutMS)) { - process.stopProcess(); *error = QCoreApplication::translate("QtVersion", "Timeout running \"%1\" (%2 ms).") .arg(binary.displayName()).arg(timeOutMS); return {}; diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp index b405bf40b1..ae8d877452 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp @@ -669,7 +669,6 @@ bool VcsBaseSubmitEditor::runSubmitMessageCheckScript(const QString &checkScript QByteArray stdOutData; QByteArray stdErrData; if (!checkProcess.readDataFromProcess(30, &stdOutData, &stdErrData, false)) { - checkProcess.stopProcess(); *errorMessage = tr("The check script \"%1\" timed out."). arg(QDir::toNativeSeparators(checkScript)); return false; |