Clang: Fix future reporting on backend crash

...otherwise CppUseSelectionsUpdater might block for an infinite
duration.

Change-Id: I756d82499b0b2864363dcaeff15398a8bf5500d9
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Nikolai Kosjar
2017-11-27 12:42:47 +01:00
parent 63861c44c1
commit 16ca76d8f5

View File

@@ -140,11 +140,15 @@ void BackendReceiver::reset()
m_assistProcessorsTable.clear();
// Clean up futures for references
for (ReferencesEntry &entry : m_referencesTable)
for (ReferencesEntry &entry : m_referencesTable) {
entry.futureInterface.cancel();
entry.futureInterface.reportFinished();
}
m_referencesTable.clear();
for (QFutureInterface<CppTools::SymbolInfo> &futureInterface : m_followTable)
for (QFutureInterface<CppTools::SymbolInfo> &futureInterface : m_followTable) {
futureInterface.cancel();
futureInterface.reportFinished();
}
m_followTable.clear();
}