aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2024-04-22 12:18:10 +0200
committerEike Ziller <eike.ziller@qt.io>2024-04-22 12:18:10 +0200
commite5640386f8118ed97cc7be372aedc06bcb65dbc4 (patch)
tree9197eef275b882555612ee6d36904cc44ea05973 /src/libs
parentd91d696e3aff23a085c8b7396fb4fc2382b929e8 (diff)
parent89682a866e95a9b675b61fc7aa345b8b492bd1d8 (diff)
Merge remote-tracking branch 'origin/13.0'
Conflicts: doc/qtcreator/src/qtquick/qtquick-live-preview-devices.qdoc src/plugins/projectexplorer/projectexplorer.cpp Change-Id: I682b330a278a329fc6294baeff6a28040abd10bc
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/utils/qtcprocess.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp
index b399d86b36..3f06e04fc1 100644
--- a/src/libs/utils/qtcprocess.cpp
+++ b/src/libs/utils/qtcprocess.cpp
@@ -769,6 +769,7 @@ private:
std::unique_ptr<ProcessInterfaceHandler> m_processHandler;
mutable QMutex m_mutex;
QList<ProcessInterfaceSignal *> m_signals;
+ Guard m_guard;
};
class ProcessPrivate : public QObject
@@ -961,6 +962,10 @@ GeneralProcessBlockingImpl::GeneralProcessBlockingImpl(ProcessPrivate *parent)
bool GeneralProcessBlockingImpl::waitForSignal(ProcessSignalType newSignal, QDeadlineTimer timeout)
{
+ QTC_ASSERT(!m_guard.isLocked(), qWarning("Process::waitForSignal() called recursively. "
+ "The call is being ignored."); return false);
+ GuardLocker locker(m_guard);
+
m_processHandler->setParent(nullptr);
QThread thread;