diff options
Diffstat (limited to 'src/libs/utils/qtcprocess.cpp')
-rw-r--r-- | src/libs/utils/qtcprocess.cpp | 5 |
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; |