From 16ca76d8f53e9c816d8166cca5cb1f6fc5b42bd4 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Mon, 27 Nov 2017 12:42:47 +0100 Subject: [PATCH] Clang: Fix future reporting on backend crash ...otherwise CppUseSelectionsUpdater might block for an infinite duration. Change-Id: I756d82499b0b2864363dcaeff15398a8bf5500d9 Reviewed-by: Ivan Donchevskii Reviewed-by: David Schulz --- src/plugins/clangcodemodel/clangbackendreceiver.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/clangcodemodel/clangbackendreceiver.cpp b/src/plugins/clangcodemodel/clangbackendreceiver.cpp index 9d620d6697d..c9bea084258 100644 --- a/src/plugins/clangcodemodel/clangbackendreceiver.cpp +++ b/src/plugins/clangcodemodel/clangbackendreceiver.cpp @@ -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 &futureInterface : m_followTable) + for (QFutureInterface &futureInterface : m_followTable) { futureInterface.cancel(); + futureInterface.reportFinished(); + } m_followTable.clear(); }