Files
qt-creator/src/plugins/cpptools
Nikolai Kosjar 77270648e8 CppTools: Fix dead lock on project unloading
...with the clang code model.

In updateProjectInfo() we lock the project mutex and emit a signal.
However, the correspondig slot in the clang code model will call back
into a function that needs to lock the mutex, too:

    CppTools::CppModelManager::workingCopy // dead locks here
    CppTools::BaseEditorDocumentParser::InMemoryInfo::InMemoryInfo
    ClangCodeModel::Internal::ClangEditorDocumentProcessor::run
    ClangCodeModel::Internal::ModelManagerSupportClang::unregisterTranslationUnitsWithProjectParts
    ClangCodeModel::Internal::ModelManagerSupportClang::onProjectPartsRemoved
     ...
    CppTools::CppModelManager::projectPartsRemoved
    CppTools::CppModelManager::updateProjectInfo // emits here

Fixed by emitting the signal after releasing the mutex.

Change-Id: Id3f3cd22b0604f343ada56ea13c26f0dc1a75bd6
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
2015-10-14 10:10:47 +00:00
..
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00
2015-01-16 12:37:56 +01:00